@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时会尝试在该类上找到一个实例变量,而不是该类的对象。

10-06 07:16