Swift 如何向数组中添加数字?敏捷的
例如:Swift 如何向数组中添加数字?敏捷的,swift,Swift,例如: 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]类型。您不能将Int附加到该值 您需要自己指定myArray的类型: var myArra
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]
类型。您不能将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)
var myArray:[AnyObject]=[“第一个字符串”、“第二个字符串”]
print(myArray.dynamicType)//现在打印可以添加Int的数组
myArray.append(35)
如果您编写
var myArray = ["first string","second string"]
print(myArray.dynamicType)
您将看到myArray
属于Array
或[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)
var myArray:[AnyObject]=[“第一个字符串”、“第二个字符串”]
print(myArray.dynamicType)//现在打印可以添加Int的数组
myArray.append(35)
如果您选择单击myArray
,您将看到它的类型是[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'
如果您选择单击myArray
,您将看到它的类型是[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'
我认为苹果公司对此有一些很好的文档。数组的类型为
[String]
,元素的类型为String
。因此,swift期望数组的新成员也是String
类型,而上面的35
是整数文本。尝试myArray.append(“35”)
或myArray.append(String(35)??”)
。我只是在学习swift,我想知道-如果数组有字符串类型,是否可以将数字添加到数组中?键入更通用的数组,[任何]
,我相信,您可以追加35。但这样会丢失类型信息。我认为苹果公司对此有一些很好的文档。数组的类型为[String]
,元素的类型为String
。因此,swift期望数组的新成员也是String
类型,而上面的35
是整数文本。尝试myArray.append(“35”)
或myArray.append(String(35)??”)
。我只是在学习swift,我想知道-如果数组有字符串类型,是否可以将数字添加到数组中?键入更通用的数组,[任何]
,我相信,您可以追加35。但这样会丢失类型信息。谢谢!这正是I1m所寻找的)如果您想在数组中只允许Int和String,请查看vacawama的答案!LUK2302请注意,这只在自由桥接的帮助下工作,所以导入基础是必要的。字符串被桥接到u NSContiguousString,Int被桥接到u NSCFNumber。谢谢!这正是I1m所寻找的)如果您想在数组中只允许Int和String,请查看vacawama的答案!LUK2302请注意,这只在自由桥接的帮助下工作,所以导入基础是必要的。字符串被桥接到u NSContiguousString,Int被桥接到u NSCFNumber。