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里,字符串的原理發生了變化,但是嘗試了很多變形,還是沒能解決問題。以及,未來出現這種問題,除了官方文檔和這里,我應該去哪個網站搜索答案?感覺手頭的書和網絡文章都比較舊,學習進度很緩慢。謝謝!
2 回答

呼如林
TA貢獻1798條經驗 獲得超3個贊
應該這樣做:
let str3000 = "yaonimingsanqian" print(str3000[str3000.startIndex.advancedBy(4)])
有問題的話,認真 Google 就可以了。

米琪卡哇伊
TA貢獻1998條經驗 獲得超6個贊
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以下的書不要看,語法變動太大,有問題谷歌/查官方文檔
- 2 回答
- 0 關注
- 1022 瀏覽
添加回答
舉報
0/150
提交
取消