使用@weakify时,程序中出现意外错误'@'。我是否缺少一些.h文件?
我已经导入了ReactiveCocoa.h。有什么我应该做的吗?
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
_isSeperateFill = YES;
_isBorderStroke = NO;
_isSeperatedStroke = YES;
_contentWidth = 0;
@weakify(self);
[RACObserve(self, dataVO) subscribeNext:^(TableDataVO* dataVO){
if( dataVO ){
NSString* indexKey = [[dataVO.tableDataDictionary allKeys] objectAtIndex:0];
_keys = [dataVO.tableDataDictionary allKeys];
@strongify(self);
_rows = [[self.dataVO.tableDataDictionary objectForKey:indexKey] count];
@strongify(self);
[self.styleVO setTableHeaderLineHorizontalMargin:self.styleVO.tableWidth / [_keys count]];
}
}];
@weakify(self);
[RACObserve(self, styleVO) subscribeNext:^(TableStyleVO* styleVO){
if( styleVO ){
styleVO.tableHeaderLineHorizontalMargin = styleVO.tableWidth / [_keys count] / 2;
}
}];
}
return self;
}
最佳答案
@weakify
,@strongify
和 friend 是libextobjc的一部分,而不是ReactiveCocoa。
尝试添加以下行(根据@chakming的评论):#import "ReactiveCocoa/RACEXTScope.h"
或对于2.3.1之前的ReactiveCocoa(我的原始答案),请使用:#import <ReactiveCocoa/EXTScope.h>
关于ios - 使用@weakify时在程序中获取错误意外的 '@',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25307564/