關於Block的學習總結(個人總結帖)

2022-08-19 03:12:15 字數 949 閱讀 6392

之前寫過陸陸續續寫過一些關於block的東西~但是都是太羅嗦和繁瑣,所以今天寫一篇總結性的帖子

1.如何宣告乙個block

block宣告有兩個形式,這個很重要,比較容易混攪不清  

第乙個是直接宣告block變數   

int (^ bblock)(int a,int b)    bblock是函式名字,其他的時宣告的形式,不懂的網上查

第二個是作為引數去宣告   這個和直接宣告block變數是不一樣的

(void)testf: bool (^)(int a,int b)  bblock ;      bool (^)(int a,int b)  bblock是引數block的宣告

這樣的話,block就差不多了,但是遺留下了乙個非常重要的問題,我也是才發現的 直接摘抄別人的部落格,因為他寫的很清楚

在block內中,使用self或者類的成員變數,會導致self的引用計數被加1,引起迴圈引用,導致無法釋放當前的self

mmatchhead是我自定義的乙個在vc中貼入的view,用了2個block來進行**。

在withminutefinish:這個block中,出現了2個問題,導致迴圈引用。

第乙個就是一眼看見的self,block中直接使用self是不對的。

第二個是,使用了currentscore,這個成員變數,即使不加self.xx,也會導致self引用計數被加1.

所以,解決方法是,

用bself的__block變數來代替。請對比上線兩張圖。self 和currentscore的改變。

至於這個博文寫的第二種方法,我覺得用處不大,就不新增了,可以自己去看

關於Spring IOC AOP的個人理解總結

反射機制 通過類的名字 newinstance 出來乙個物件出來。從而可以找到該類的方法和引數。動態 spring ioc 依賴注入 1 在xml中寫bean 開啟註解 注入。2 掃瞄包,開啟註解注入。當掃瞄到 repository service controller 自動建立物件 反射機制 3 ...

總結 SpringCloud 介紹個人理解總結

總結 springcloud 介紹個人理解總結 springcloud官網 個人理解 單服務 以前的學校 伺服器 只有乙個會語數外全能的老師,為學生上課 服務 某天老師生病了 宕機 那全校停課 無法提供服務 微服務 學校有 數學老師組 語文老師組 外語老師組,每個組有一群該專業的老師,臨時缺了誰,學...

關於Block的使用

關於block 的定義 這裡我用typedef 宣告乙個返回值為整型 有乙個引數的block typedef void block nsinteger x 下面定義並且實現乙個block block block nsinteger x 這裡只是給block賦值了 但是沒有呼叫block 但是下面這種...