在ios應用中一個單例模式:
void (^ myBlock)() = ^(){ [self doStuff]; };
然後就得到這樣的錯誤:
use of undeclared identifier self
doStuff
是單例模式的方法。假如在其他方法中聲明這個block,Xcode運行正常。
請各位前輩幫我解釋一下原因,謝謝
在界面中定義block,然後在@implementation文件中實例化選中的方法:
@interface YourClass {
void (^ myBlock)();
}
@implementation YourClass
- (void)yourMethod {
myBlock = ^(){ [self doStuff]; };
}
@end