iOS開發之FuckingBlockSyntax!
How Do I Declare A Block in Objective-C?
As a local variable:
returnType (^blockName)(parameterTypes) = ^returnType(parameters) {...};
As a property:
@property (nonatomic, copy, nullability) returnType (^blockName)(parameterTypes);
As a method parameter:
- (void)someMethodThatTakesABlock:(returnType (^nullability)(parameterTypes))blockName;
As an argument to a method call:
[someObject someMethodThatTakesABlock:^returnType (parameters) {...}];
As a typedef:
typedef returnType (^TypeName)(parameterTypes);
TypeName blockName = ^returnType(parameters) {...};
This is not intended to be an exhaustive list of all possible uses of blocks.
If you find yourself needing syntax not listed here, it is likely that a typedef would make your code more readable.
相關文章
- iOS開發之逆向工程iOS
- iOS之Wifi開發探究iOSWiFi
- iOS開發之 Autolayout 詳解iOS
- iOS開發之彈窗管理iOS
- iOS開發之XLForm的使用iOSORM
- ionic開發環境搭建之ios開發環境iOS
- iOS開發之UIRefreshControl使用踩坑iOSUI
- iOS開發實用軟體之NWPusheriOS
- iOS開發之OC篇(3)—— NSArray、NSMutableArrayiOS
- iOS開發之 Method Swizzling 深入淺出iOS
- iOS開發之登入與訪客iOS
- iOS開發之使用Git的基本使用(二)iOSGit
- iOS開發之使用Git的基本使用(一)iOSGit
- iOS開發之返回指定的控制器iOS
- iOS開發之記憶體與快取iOS記憶體快取
- iOS 開發iOS
- iOS開發之APP內部切換語言iOSAPP
- 短視訊app開發之ios小視訊開發經驗共享APPiOS
- 玩轉iOS開發:iOS中的NSOperation開發(一)iOS
- iOS開發:UIAlertViewiOSUIView
- iOS 開發薪水iOS
- iOS開發- RunLoopiOSOOP
- iOS開發-UIButtoniOSUI
- iOS開發-MVCiOSMVC
- iOS開發之runtime(一):runtime除錯環境搭建iOS除錯
- iOS開發 面向切面程式設計之 Aspects 原始碼解析iOS程式設計原始碼
- iOS開發之tableView左滑刪除的兩種方法iOSView
- iOS開發之TabBar再次點選實現重新整理iOStabBar
- iOS開發之UIView與UIViewController的生命週期總結iOSUIViewController
- iOS 開發加密做法iOS加密
- Flutter混合開發-iOSFlutteriOS
- iOS藍芽開發iOS藍芽
- iOS開發框架--SDWebImageiOS框架Web
- iOS開發框架--AFNetworkiOS框架
- iOS開發框架--MyLayoutiOS框架
- iOS開發小tipiOS
- iOS開發-手勢iOS
- iOS開發框架--QMUIKitiOS框架UI