var myArray = ["first string","second string"]
myArray.append(35) // Here will be an error
回答
如果你寫
var myArray = ["first string","second string"]
print(myArray.dynamicType)
你會看到myArray
是Array<String>
類型或[String]
的。你不能附加Int
。
你需要做的是指定myArray
自己的類型:
var myArray : [AnyObject] = ["first string","second string"]
print(myArray.dynamicType) // now prints Array<AnyObject> which you can add Int to
myArray.append(35)
謝謝!這正是I1m所尋找的) – scorpio
如果你想只允許*數組中的Int和String看看vacawama的答案! – luk2302
luk2302請注意,這隻適用於免費橋接的幫助,因此導入基礎是必要的。字符串橋接到_NSContiguousString 和Int到__NSCFNumber。 – user3441734
如果上myArray
選項單擊,你會看到它是[String]
類型(String
陣列)的。您只能將String
s添加到myArray
。
如果您希望能夠將Int
添加到您的數組中,您將需要更具包容性的類型。如果你製作陣列[Any]
,你可以放入任何東西。
var myArray:[Any] = ["first string","second string"]
myArray.append(35) // This now works
如果你想只存儲Int
和String
,你可以創建自己的自定義協議:
protocol StringsAndInts {
}
extension String: StringsAndInts {
}
extension Int: StringsAndInts {
}
var myArray:[StringsAndInts] = ["first string","second string"]
myArray.append(35)
print(myArray) // ["first string", "second string", 35]
myArray.append(3.14) // error: argument type 'Double' does not conform to expected type 'StringsAndInts'
- 1. 將數組元素附加到字符串(斯威夫特)
- 2. 斯威夫特字符串數組
- 3. 瞭解如何將解析數據添加到字典(斯威夫特)
- 4. 追加字節到NSMutableData斯威夫特
- 5. 斯威夫特轉換斯威夫特
- 6. 斯威夫特2斯威夫特3
- 7. 斯威夫特 - JSQMessagesViewController與斯威夫特
- 8. 在數組中添加一個按鈕 - 斯威夫特
- 9. 添加值使用斯威夫特3數組
- 10. 檢索Dictionnary值,並將它們添加到一個數組斯威夫特
- 11. strtoul()函數 - 斯威夫特
- 12. 斯威夫特:在指數
- 13. 斯威夫特NStask函數
- 14. 斯威夫特:對象數組搜索
- 15. 數組語法在斯威夫特
- 16. 斯威夫特 - JSON數組值
- 17. 從處於斯威夫特數組
- 18. nsuserdefault不保存數組 - 斯威夫特
- 19. 斯威夫特:檢查空數組
- 20. 斯威夫特從一個數組
- 21. 斯威夫特 - 基於兩個數組
- 22. 如何使用sectionNameKeyPath將組表tableView數據(斯威夫特)
- 23. 如何JSON字典數組值斯威夫特
- 24. 如何過濾字符串數組中的斯威夫特
- 25. 轉換字符串數組,數組CGFloat的斯威夫特
- 26. 斯威夫特3:追加字符數組
- 27. 如何解析JSON數組到陣列中的斯威夫特
- 28. 將數組轉換爲字符串?在斯威夫特
- 29. 斯威夫特:兩個數組匹配到一個數組
- 30. 斯威夫特 - 屬性添加到字符串兩個字符
我認爲蘋果有對此一些不錯的文檔。 https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/CollectionTypes.html – Eendje
你的數組的類型爲'[String]',類型爲'String'。因此,swift期望數組的新成員也是'String'類型,而上面的'35'是一個整數字面值。試試'myArray.append(「35」)'或'myArray.append(String(35)??「」))。 – dfri
我只是學習迅速,我想知道 - 如果它有類型的STRING,是否可以添加數字到數組? – scorpio