oc中的block主要用來儲存一段**,在需要的時候執行。
下面是乙個小的例子:
#import
"viewcontroller.h"
@inte***ce viewcontroller ()
/** myblock(定義乙個block) */
@property(nonatomic,copy) void(^myblock)();
@end
@implementation viewcontroller
- (void)viewdidload ;
__weak uiviewcontroller *self1 = self;
// __block uiviewcontroller *self1 = self;
/** block**塊 */
self.myblock = ^;
}-(void)touchesbegan:(nsset*)touches withevent:(uievent *)event
@end
如果忘記block怎麼寫,可以使用「inlineblock」。oc會自動提示哦!
屬性要使用copy屬性
防止迴圈引用,如果在block塊**中使用,要使用弱型別,用__weak和__block修飾
iOS 簡單的 block 記憶體洩漏問題
注意 block 用 copy 引用 typedef int myblock int,int void play nslog play int main int argc,const char ar autoreleasepool 記憶體洩漏問題 block 裡面引用 self 而self又強指標指...
iOS 揭露Block的內部實現原理
想必大家對block都很熟悉了,雖然都會用,但是你真的知道它的原理嗎?比如為什麼要加上 block,這個修飾符到底有什麼用?不加會有什麼後果?block又是如何實現的等等。該篇文章就為大家揭曉關於block的實現原理 先給出問題,大家思考下結果吧,如果分別呼叫以下兩個方法,結果如何?void blo...
iOS 的 Block 的使用
block 是一種資料型別,用來存 用來儲存一段 想用 的時候就呼叫這段 使用場景 1.動畫 2.多執行緒 3.集合遍歷 4.網路請求 區別於函式 函式也是用來儲存一段 的,當呼叫函式的時候才會執行裡面的 但是函式不能在程式執行的時候再在指定的位置執行 1.沒引數也沒返回值的block void g...