どのメソッドからでも使用できるグローバル ブロックを作成しようとしています。このブロックがクラスの @properties にアクセスできるようにします。しかし、これを実行しようとすると、バッキング変数 _myVar にアクセスする「宣言されていない識別子の自己の使用」も機能しません。
なぜこれが機能しないのですか?また、任意のメソッドからアクセスできるブロックをどのように回避すればよいでしょうか? ありがとう。
例:
@interface myClass()
@property (nonatomic,assign) BOOL subjectSex;
@end
@implementation
// these returns will get: use of undeclared identifier
int (^myBlock) = ^{
if(self.subjectSex) return 1;
return (!_subjectSex);
}
@end