เราสามารถประกาศบล็อกดังต่อไปนี้ใน Objective-C
typedef void (^CompletionBlock) (NSString* completionReason);
ฉันพยายามทำสิ่งนี้อย่างรวดเร็วมันให้ข้อผิดพลาด
func completionFunction(NSString* completionReason){ }
typealias CompletionBlock = completionFunction
ข้อผิดพลาด: การใช้ 'completeFunction' ที่ไม่ได้ประกาศ
คำจำกัดความ:
var completion: CompletionBlock = { }
ต้องทำอย่างไร?
อัปเดต:
ตามคำตอบของ @jtbandes ฉันสามารถสร้างการปิดโดยมีอาร์กิวเมนต์หลายรายการได้ตามต้องการ
typealias CompletionBlock = ( completionName : NSString, flag : Int) -> ()