我在Xcode 6.4中打开了两个项目.两者都使用以下声明:
- (void)startService
{
__weak typeof(self) weakSelf = self;
[self.messageOperationQueue addOperationWithBlock:^{
NSDictionary *storedMessages = [mySettings get:kStorageName withDefault:@{} storageType:kMySettingsStorageTypeDiskMapped];
[weakSelf.messages addEntriesFromDictionary:storedMessages];
}];
}
Run Code Online (Sandbox Code Playgroud)
但是,在一个项目中没有错误,在另一个项目中我收到编译器错误:
Expected ';' at end of declaration
Run Code Online (Sandbox Code Playgroud)
它希望我在__weak typeof(self)之后放置一个分号.我怀疑我只是在做一些非常愚蠢的事情,但我很难搞清楚什么.另外,我知道我可以代替typeof(self)使用myClass *.
objective-c ×1