簡體   English   中英

字符串不符合NSarray Swift中的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM