swift 初学者求问,书上的例子:
let str3000 = "yaonimingsanqian"
let arr3000 = Array(str3000)
print(Array[4])
为什么会报错
error: missing argument label 'arrayLiteral:' in call
和
error: instance member 'subscript' cannot be used on type 'Array<_>
?
我知道在swift2.0里,字符串的原理发生了变化,但是尝试了很多变形,还是没能解决问题。
以及,未来出现这种问题,除了官方文档和这里,我应该去哪个网站搜索答案?感觉手头的书和网络文章都比较旧,学习进度很缓慢。
谢谢!
应该这样做:
let str3000 = "yaonimingsanqian"
print(str3000[str3000.startIndex.advancedBy(4)])
有问题的话,认真 Google 就可以了。
不明白你希望用这个代码做什么
Array[4]是什么东西
为什么要"除了"官方文档
1.error: missing argument label 'arrayLiteral:' in call
在swift2.1中,应该这样写
let arr3000 = Array(arrayLiteral: str3000)
这个会让上面的字符串对象变成
["yaonimingsanqian"]
一个仅含一个元素的数组对象
2.error: instance member 'subscript' cannot be used on type 'Array<_>
第二个是说 下标[4] 不能直接用于 Array
3.建议:看官方文档2.1英文原版,2.0以下的书不要看,语法变动太大,有问题谷歌/查官方文档