У меня есть два проекта, открытых в 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];
}];
}
Однако в одном проекте ошибок нет, а в другом проекте я получаю ошибку компилятора:
Expected ';' at end of declaration
Он хочет, чтобы я поставил точку с запятой после __weak typeof (self). У меня есть подозрение, что я просто делаю что-то действительно немое, но мне трудно понять, что. Кроме того, я знаю, что я мог бы заменить typeof(self)
на myClass *
.