2015-11-02 58 views
1

這就是我們所擁有的。這是斯威夫特代碼:爲什麼我不能將我的類方法定義爲包含變量的索引實例數組?

class Process { 
// Some methods and properties 
} 

class SomeClass { 
    var list: [Process]? = nil 
// ... 
    func someFunc() { 
    // ... 
    if list !=nil { 
      for i in list! { 
       if list[i]. 
    } 
} 

插入在最後一行點(.),我不明白的方法和屬性的列表。

如果我改變指數i到數字的話,我會得到的方法和它的類工藝屬性的列表 How it's look like

我應該怎麼做索引使用變量我可以使用的方法它的課?
P.S.對不起,我使用機器翻譯

回答

1

隨着for x in y你不必因爲下標是x不是一個索引,它就是當前迭代器對象:

func someFunc() { 
    if let list = list { 
     for item in list { 
      item. 
     }  ^^^^ here auto-suggest will work 
    } 
} 
+0

非常感謝您的回答! –

0

如果建議的方法不起作用或沒有意義,通常是因爲您有語法錯誤。自動縮進代碼也一樣。

這裏你正在做的是迭代list,期待它給你一個索引,當它真正在做的是給你的對象list

因此,代碼應該簡單地:

for i in list! { 
    if i.XXX ... 

其中XXX是無論你想測試。

+0

非常感謝的答案! –

+0

沒問題,歡迎來到SO。請投票並打勾幫助解決問題的答案;-) – Wain

相關問題