如何将Objective-C写入Swift 4下面的方法?

时间:2018-06-05 07:57:38

标签: ios swift4

以下是Objective-c Code。 我在Swift中需要这个方法,如何在Swift4中编写? 我是swift的新手,请帮助。

-(NSMutableArray)dataArray
{
    if(!_dataArray)
    {
        _dataArray = [NSMutableArray new];
    }
return _dataArray;
}
@property(nonatomic,strong) NSMutableArray *dataArray;

1 个答案:

答案 0 :(得分:2)

您在Objective-C中使用的上述方法是在使用时将内存初始化为dataArray。它通常用于最小化内存消耗。

在swift中,这个过程由懒惰的实例化属性处理,方法是在属性之前放置一个关键字lazy。只有在首次使用时才会将内存分配给属性。

lazy var dataArray = [String]()

注意:在swift中,使用基于swift的数组而不是NSArray/ NSMutableArray

如果您想对dataArray进行一些自定义,可以这样做:

lazy var dataArray: [String] = {
        var temp = [String]()
        temp.append("John Doe")
        return temp
        }()

您可以参考链接:http://mikebuss.com/2014/06/22/lazy-initialization-swift/