![](/img/trans.png)
[英]type [String: String] does not conform to protocol 'AnyObject'
[英]String does not conform to type AnyObject in NSarray Swift
我正在迅速創建一個自定義對象。 該對象的屬性之一是數組,旨在包含字符串:
Exersice (name: "Test", type: "Test", muscles: NSArray(objects: "muscle1", "muscle2"), descriptionString: "Test", pace: true, sets: 1, reps: NSMutableArray(15, 12, 12), time: false, duration: 0)
這是問題所在的部分:
muscles: NSArray(objects: "muscle1", "muscle2")
我不斷出現錯誤:
String does not conform to type AnyObject
我只是不明白為什么。 在網上四處瀏覽會顯示此錯誤的許多情況,但在這種情況下沒有發現,也無助於解決此問題。
我如何擺脫這個錯誤? 任何幫助將不勝感激
NSArray
只能保存引用類型,而Swift的String
是一個值類型。 字符串實例通常會自動橋接到NSString
,但是您用於NSArray
的構造函數明確希望使用AnyObject
,從而AnyObject
了這種橋接。 您應該可以改用Swift Array
:
Exersice (name: "Test", type: "Test", muscles: ["muscle1", "muscle2"], ...
這里的問題不是NSArray(objects: "muscle1", "muscle2")
,而是這樣的:
NSMutableArray(15, 12, 12)
這應該是
NSMutableArray(objects: 15, 12, 12)
但是,正如@NateCook在他的回答中所說,您應該使用Swift Array
。
如果您的Exersice類仍然希望使用String數組,請確保初始化程序聲明它接受了String數組
init(name: String, type: String, muscles: [String]) {}
這樣,內特的答案就足夠了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.