@interface A : UIView{
NSInteger z_num;
}
+ (void)getNum;
@end
@implementation A
+ (void)getNum{
__weak typeof(self) weakSelf = self;
[[SingletonClass shareInstance] getNum:^(NSInteger status, NSString *num) {
__strong typeof(weakSelf) strongSelf = weakSelf;
if (strongSelf) {
if (status == NET_OK) {
strongSelf->z_num = [num integerValue]; //error:Member reference base type 'Class' is not a structure or union
}
}
}];
}
我试图找到一些方法来解决此问题,但没有成功,我应该怎么做才能解决此错误?
最佳答案
当您在类方法中引用self
时,其类型为Class
而不是该类的实例。这就是为什么当您执行strongSelf
时会尝试在该类上找到一个实例变量,而不是该类的对象。