2015-02-12 106 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