use*_*292 15 objective-c swift
我正在尝试将我的Objective-C转换为Swift - 这里的错误有点困惑以及如何处理它.我一直在阅读文档,但仍然感到困惑 - 这是从转换器生成的.有人有主意吗?
Objective-C
- (id) init
{
    self = [super init];
    if (!self)
        return nil;
     self.cmRequestsQuery = [[NSMutableArray alloc] initWithCapacity:5];
     self.cmQueryIsRuning = NO;
     self.requestCounter = 0;
     self.serverOfflineOrBadResponse = NO;
     self.userWasLoggedIn = NO;
     self.needToSendPushNotiToken = NO;
     self.noInternetConection = NO;
     self.needToUpdateToken = NO;
    [[reqOperationManager sharedManager] setDelegate:self];
    return self;
}
Swift
func init() -> AnyObject {
    self = super()
    if !self {
        return nil
    }
    self.cmRequestsQuery = NSMutableArray(capacity: 5)
    self.cmQueryIsRuning = false
    self.requestCounter = 0
    self.serverOfflineOrBadResponse = false
    self.userWasLoggedIn = false
    self.needToSendPushNotiToken = false
    self.noInternetConection = false
    self.needToUpdateToken = false
    reqOperationManager.sharedManager().setDelegate(self)
    return self
}
vad*_*ian 27
在Swift init方法中没有func关键字,也没有返回值,调用super的点不同.
init() {
首先初始化所有实例变量.
self.cmRequestsQuery = NSMutableArray(capacity: 5)
self.cmQueryIsRuning = false
self.requestCounter = 0
self.serverOfflineOrBadResponse = false
self.userWasLoggedIn = false
self.needToSendPushNotiToken = false
self.noInternetConection = false
self.needToUpdateToken = false
然后调用super - 如果需要 - 来获取实例.
super.init()
然后调用使用的方法 self
reqOperationManager.sharedManager().setDelegate(self)
而已.
}
在某些情况下,您必须先添加override关键字init().
有关更多详细信息,请阅读Swift语言指南中有关初始化的章节.这很值得.
| 归档时间: | 
 | 
| 查看次数: | 7969 次 | 
| 最近记录: |