swift 初學(xué)者求問,書上的例子:let str3000 = "yaonimingsanqian"
let arr3000 = Array(str3000)
print(Array[4])為什么會(huì)報(bào)錯(cuò)error: missing argument label 'arrayLiteral:' in call和error: instance member 'subscript' cannot be used on type 'Array<_>?我知道在swift2.0里,字符串的原理發(fā)生了變化,但是嘗試了很多變形,還是沒能解決問題。以及,未來出現(xiàn)這種問題,除了官方文檔和這里,我應(yīng)該去哪個(gè)網(wǎng)站搜索答案?感覺手頭的書和網(wǎng)絡(luò)文章都比較舊,學(xué)習(xí)進(jìn)度很緩慢。謝謝!
2 回答

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

米琪卡哇伊
TA貢獻(xiàn)1998條經(jīng)驗(yàn) 獲得超6個(gè)贊
1.error: missing argument label 'arrayLiteral:' in call
在swift2.1中,應(yīng)該這樣寫
let arr3000 = Array(arrayLiteral: str3000)
這個(gè)會(huì)讓上面的字符串對(duì)象變成
["yaonimingsanqian"]
一個(gè)僅含一個(gè)元素的數(shù)組對(duì)象
2.error: instance member 'subscript' cannot be used on type 'Array<_>
第二個(gè)是說 下標(biāo)[4] 不能直接用于 Array
3.建議:看官方文檔2.1英文原版,2.0以下的書不要看,語法變動(dòng)太大,有問題谷歌/查官方文檔
- 2 回答
- 0 關(guān)注
- 1018 瀏覽
添加回答
舉報(bào)
0/150
提交
取消