私はいくつかのObj-Cコードを持っており、その中には多くのブロックをメンバーとして持つクラスがあります。問題のプロパティは次のとおりです。
@property(nonatomic, readonly, retain) BOOL(^truthPredicate)(int, NSMutableDictionary*);
@synthesizeそして、ファイル内のステートメントに実装され.mます。initクラスのメソッドの1つで、プロパティをリテラルブロックに設定しようとしました。
truthPredicate=^(int val, NSMutableDictionary* params) {return val >= MANodeTruthThreshold ? YES : NO;};
これは、コンパイラエラーを示します。コンパイラーは、andがandYESとしてNO定義(BOOL)1され、として定義されているにもかかわらず、戻りブロックを戻り変数に割り当てようとしていると主張します。Obj-Cに、sではなくsを返していることを認識させるにはどうすればよいですか?(BOOL)0BOOLsigned charintBOOLBOOLint