Ben Swift aşağıdaki yapmaya çalışılıyor Protocol 'ProtocolWithAlias' can only be used as a generic constraint because it has Self or associated type requirements
.Bu protokol neden "sadece genel bir kısıtlama olarak kullanılabilir"?</p> <pre><code>protocol ProtocolWithAlias { typealias T } protocol AnotherProtocol { func someFunc() -> ProtocolWithAlias } </code></pre> <p>Ama hatayı alıyorum:
Böyle bir şey yapmak mümkün mü? Hata mesajı (veya en azından "only be used as a generic constraint
" bölümü) bana pek bir şey ifade etmiyor.
Ben son Xcode 6 beta 3.
Teşekkür kullanıyorum!
Eğer böyle bitti neden bilmek ne olacağını ben someFunc gerçeklenimine sahip taklit Sağlar? Oldukça garip bir sözdizimine benziyor, ama belki de bu sadece C# için kullanıldığımdan kaynaklanıyor :) – MatthewSot
Sorun şu ki, tip sistemi protokolü belirttiğinizde, ilişkili sistem için neyin takılacağını bilmiyor, bunun yerine protokole uygun herhangi bir beton türünü döndürmek için uzmanlaşmış olabilecek genel bir işlev yaparsınız, ancak sadece "protokol" değil. Derleyici, muhtemelen bunu çözebilmelidir, ancak şu anda olamaz. –
güzel ama bu genel protokolü bir sınıfın örnek değişkenine nasıl belirtilir? – Dragouf