私はこの質問にいくつかの文脈の解決策を与えたいと思っていました。 Swiftでは、名前空間はimplicit on a module levelです。 RealmSwiftなどの外部モジュールがあり、タイプがList
の場合は、自分のモジュールにList
という名前のタイプを割り当てることができます。タイプがList
の複数の外部モジュールを使用することもできます。レルムで
- を次のように表示されるエラーのため
私の推論でした、何を掲載することは、正確にhow you're supposed to declare a list
すでに使用されている私のプロジェクトのコンテキストでコンパイル
- あなたの例レルム
List
の
- です示されたエラーは、迅速なコンパイラが
List
が有効な型であり、実際にはList.init()
という名前の関数を知っていることを知っていることを示していますが、コンパイラはその関数が汎用ではないことを伝えています。
その時点で唯一の答えは、コンパイラが意図しているよりも異なる定義List
を使用していると仮定することです。これが起こる唯一の方法は、内部の型が外部型よりも優先されるため、あなたが入っているスコープ(プロジェクトまたは別の型)が型List
を定義している場合です。この優先順位は、型ネストでさらに拡張されています。レルムのList
をデフォルトのリストとして保持する場合は、List
を別の構造体にネストして、ソートの名前空間を提供することができます。
次の例は、複雑な状況を考えてできるだけ簡潔に示しています。幸い
import RealmSwift
let myGlobalDogs = List()
let myGlobalNestedListDogs = MyClass.List()
let globalDogs = RealmSwift.List<Dog>()
class List { }
class MyClass {
class List { }
let dogs = RealmSwift.List<Dog>()
let myNestedListDogs = List() // type: MyModule.MyClass.List
let myDogs = MyModule.List() // type: MyModule.List
}
class MyOtherClass {
let dogs = RealmSwift.List<Dog>()
let myNestedListDogs = MyClass.List() // type: MyModule.MyClass.List
let myDogs = List() // type: MyModule.List
}
、タイプ/機能は、通常、あなたは不注意なあなたが遭遇した一人として、最終的にエラーに遭遇することなく、間違ったものを使用することができないことを十分に異なっています。
'RealmSwift'をインポートせず、' List'タイプがプロジェクトの別の部分に存在する可能性はありますか?あなたは試してみてください: '聞かせ犬= RealmSwift.List()' –
ない男、私は輸入: 輸入のUIKit インポートAlamofire インポートが 輸入ObjectMapper 輸入ObjectMapper_Realm 輸入SwiftyJSON 輸入BFKitに –
おかげで多くのことをRealmSwift インポート財団「()」の代わりに「RealmSwift.List ()」が機能しています。しかし、他の私のプロジェクトでは、 "List ()"がうまくいき、混乱しました。 –