2015-02-12 109 views
0

我實際上是在快速學習以開發iOS應用程序。作爲練習,我希望創建並填充一個空數組,這將通過在故事板上使用文本字段和按鈕來填充。創建並填充空數組

var arr = [] 

// When button is pressed : 
arr.append(textfield.text) 

XCode告訴我,append方法不是NSArray的方法。所以我使用了addObject,但它仍然不正確,因爲arr變量包含nil。

因此,這裏有我的三個問題:

是否有可能創建一個空的數組,如果是的話,如何填充它?

有時候,在我的ViewController,當我創建一個非空數組,append方法顯然是無效的,而且我不明白爲什麼..

最後,爲什麼即使我使用的語法:

var arr = [1] // For example 

ARR的目的是NSArray的對象,而不是一個對象的NSMutableArray,使得不可能添加/刪除包含在它的任何對象?

我希望我的問題是明確的,如果沒有,我會上傳什麼,我試圖建立更多的代碼,

謝謝您的解答!

回答

3

嘗試定義您的數組作爲一個String數組,像這樣:

var arr: [String] = [] 

然後追加到列表中,無論是由:

arr.append("the string") 

arr += ["the string"] 
+0

是的,這正是我正在考慮閱讀關於集合類型的Swift指南5分鐘前,我不記得數組是類型推斷,因此我需要指定空數組的類型以便修改它後來。謝謝@ eightx2! – Viro 2015-02-12 08:32:32

+0

@VincentRolea沒問題,隨時接受答案:) – eightx2 2015-02-12 10:37:57

1

空數組可以使用以下語法創建。

var emptyArray = [String]() 
emptyArray.append("Hi") 

看到this

您可以使用下面還元素添加到您的陣列。

//append - to add only one element 
emptyArray.append("Hi") 

//To add multiple elements 
emptyArray += ["Hello", "How r u"] 
emptyArray.extend(["am fine", "How r u"]) 

//Insert at specific index 
emptyArray.insert("Who r u", atIndex: 1) 

//To insert another array objects 
var array1 = ["who", "what", "why"] 
emptyArray.splice(array1, atIndex: 1) 
+0

是的,我發佈我的問題後,讀了指南,並實現了一個類型集合對象的數組,因此需要指定空類型的類型,因爲它不能被推斷由斯威夫特,謝謝你的詳盡答案@Dev – Viro 2015-02-12 08:40:23