เป็นไปได้ที่จะระบุพารามิเตอร์ method block ใน Objective-C โดยไม่ต้องใช้ typedef หรือไม่? จะต้องเป็นเช่นตัวชี้ฟังก์ชั่น แต่ฉันไม่สามารถเข้าถึงไวยากรณ์ที่ชนะโดยไม่ต้องใช้ตัวพิมพ์กลาง:
typedef BOOL (^PredicateBlock_t)(int);
- (void) myMethodTakingPredicate:(PredicateBlock_t)predicate
เฉพาะการคอมไพล์ด้านบนสิ่งเหล่านี้ล้มเหลว:
- (void) myMethodTakingPredicate:( BOOL(^block)(int) ) predicate
- (void) myMethodTakingPredicate:BOOL (^predicate)(int)
และฉันจำไม่ได้ว่าชุดค่าผสมอื่น ๆ ที่ฉันได้ลองไว้
3
goshdarnblocksyntax.com
—
Kyle Clegg