这个陈述在OC中的含义是什么?如何将其转换为swift?

时间:2015-04-15 01:57:44

标签: ios objective-c swift

if ([lineArray count]>0) 
{
   for (int i=0; i<[lineArray count]; i++) 
   {
       NSArray * array=[NSArray arrayWithArray:[lineArray objectAtIndex:i]];
   }
}

2 个答案:

答案 0 :(得分:1)

如果lineArray不为空,请迭代数组,并为lineArray中的每个项目创建一个单独的数组。

在斯威夫特:

   if lineArray.count > 0 {
        for var i=0; i < lineArray.count; i++ {
            var array = lineArray[i]
        }
    }

更新:正如Rob在下面提到的那样,数组本身的元素似乎是一个数组,因为OP正在使用NSArray的arrayWithArray方法来创建另一个数组

答案 1 :(得分:0)

该代码毫无意义,应该被丢弃。

muneeb.rahim在将其转换为Swift方面做得很好,只做了一点改变:

if lineArray.count > 0 
{
  for var i=0; i < lineArray.count; i++
  {
    var array = [AnyObject]()  //Create a new array object
    array += [lineArray[i]]
  }
}

要记住的是,在for循环中创建的变量array(作为新的数组对象)会被创建,然后在下一次循环中立即销毁。没有意义的。

该代码和原始海报的代码都假定lineArray中的对象也是数组。