NSArray、appendString、无法识别的选择器发送到实例
NSArray, appendString, unrecognized selector sent to instance
我刚开始使用 Swift 并试图修改一些代码,但我不明白这个错误。我希望有人能阐明我的问题,所以就在这里。
Qn1.
var test: NSArray = [String]()
test[0].appendString("abc") //fatal error: Array index out of range
为了解决这个问题,我不得不用 test = [""] 初始化数组,但我假设行 var test: NSArray = String 会初始化它。我做的对吗?
Qn2.
var test: NSArray = [String]()
test = [["xxx", "zzz", "hhh"],["aaa", "qwe", "hyh"]]
test[0].appendString("abc") //[Swift._NSContiguousString appendString:]: unrecognized selector sent to instance
我想在数组中添加另一个字符串,但弹出此错误。我不清楚它为什么会这样。
如果您只是将字符串附加到数组:
// Q1
var test = [String]()
test.append("abc")
// Q2
var test = [[String]]()
test = [["xxx", "zzz", "hhh"],["aaa", "qwe", "hyh"]]
test[0].append("abc)
此外,除非有某些特殊原因需要使用 NSArray
,否则最好坚持使用原生 swift 数组。
Qn1。 test
实际上已初始化,但它是空的,因此 test[0] 超出范围,因为没有元素。
Qn2。 appendString
是一个 NSMutableString
method,但本例中的 test[0] 是一个数组。要将 "abc" 添加到数组,请使用 append
test[0].append("abc")
或+=
test[0] += ["abc"]
我刚开始使用 Swift 并试图修改一些代码,但我不明白这个错误。我希望有人能阐明我的问题,所以就在这里。
Qn1.
var test: NSArray = [String]()
test[0].appendString("abc") //fatal error: Array index out of range
为了解决这个问题,我不得不用 test = [""] 初始化数组,但我假设行 var test: NSArray = String 会初始化它。我做的对吗?
Qn2.
var test: NSArray = [String]()
test = [["xxx", "zzz", "hhh"],["aaa", "qwe", "hyh"]]
test[0].appendString("abc") //[Swift._NSContiguousString appendString:]: unrecognized selector sent to instance
我想在数组中添加另一个字符串,但弹出此错误。我不清楚它为什么会这样。
如果您只是将字符串附加到数组:
// Q1
var test = [String]()
test.append("abc")
// Q2
var test = [[String]]()
test = [["xxx", "zzz", "hhh"],["aaa", "qwe", "hyh"]]
test[0].append("abc)
此外,除非有某些特殊原因需要使用 NSArray
,否则最好坚持使用原生 swift 数组。
Qn1。 test
实际上已初始化,但它是空的,因此 test[0] 超出范围,因为没有元素。
Qn2。 appendString
是一个 NSMutableString
method,但本例中的 test[0] 是一个数组。要将 "abc" 添加到数组,请使用 append
test[0].append("abc")
或+=
test[0] += ["abc"]