2015-11-02 34 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

相关问题