A Block in Objective-C?
1.局部變量:
returnType (^blockName)(parameterTypes) = ^returnType(parameters) {...};
2.聲明:
@property (nonatomic, copy,) returnType (^blockName)(parameterTypes);
3.方法中使用:
- (void)someMethodABlock:(returnType (^)(parameterTypes))blockName;
4.方法調用時參數:
[Object someMethodABlock:^returnType (parameters) {...}];
5.別名:
typedef returnType (^TypeName)(parameterTypes);TypeName blockName = ^returnType(parameters) {...};
example:
1.typedef void (^completitionBlock) (id obj, NSError * err);
2.-(id)initWithRequest:(NSURLRequest *)req completitionBlock:(completitionBlock)block;
-(id)initWithRequest:(NSURLRequest *)req completitionBlock:(void (^) (id obj, NSError * err) completitionBlock ;
3.@property (nonatomic,copy)void (^completition) (id obj, NSError * err);
A Block in Swift?
1.別名
typealias blockName = (parameters) -> returnType
2. 方法
func someMethodABlock(completion:((parameters) -> returnType)!)
3.聲明
var block:blockName
var block:((parameters) -> returnType)?
example:
1.typealias completionHandler = (NSDictionary?,NSError?) -> Void
2. func authorizeHealthKit(completion:((success:Bool, error:NSError!) -> Void)!)
3. var block:completionHandler
4. var block:((dic:NSDictionary ,error:NSError) -> Void)?
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。