iOS學習筆記之Reachability簡單使用

2022-08-05 05:21:16 字數 715 閱讀 7376

1、在控制器中註冊網路狀態改變的通知

- (void)viewdidload

2、在控制器中編寫接收到通知後的處理事件

- (void)reachabilitychanged:(nsnotification *)note 

//有網路進入介面初始化

else

}

3、在控制器中移除通知觀察者

- (void)dealloc

以上幾個步驟就是reachability的整個使用流程。需要注意的是,reachability這個庫的通知事件有時會被觸發兩次。比如在聯網狀態下進入應用,「有網路」這句log可能會列印兩次,並且這種情況發生的頻率挺高的。通過查詢資料(主要是在stack overflow上)和多次測試,證實了這個事實。為了避免initsubviews方法被執行多次,可以考慮加入乙個通知計數器,當計數器為1時才執行初始化流程,部分**如下:

宣告通知計數器並初始化

static int countnoti = 0;
通知處理事件

//判斷網路狀體,無網路彈窗提示

if (status == notreachable)

//有網路進入介面初始化

else

}

IOS學習筆記之NSZone

在碰到allocwithzone,copywithzone總會有個疑問,這個nszone到底是個什麼東西?簡單來說,可以想象成乙個記憶體池,alloc或是dealloc這些操作,都是在這個記憶體池中操作的。cocoa總是會配置乙個預設的nszone,任何預設的記憶體操作都是在這個 zone 上操作的...

IOS學習筆記之UISearchBar

1 概念 搜尋條 uisearchbar 由乙個文字框和幾個按鈕組成,當使用者在文字框內輸入部分內容之後,程式即可按指定的規則執行搜尋。uisearchbar控制項的不同部分會激發不同的事件,而這些事件也由該控制項對應的委託物件處理,uisearchbar的委託物件必須實現uisearchbarde...

IOS學習筆記之通知

1 通知的概念 ios系統提供了nsnotificationcenter 通知中心 設計,這種設計允許開發者以松耦合的方式實現ios 應用內各個物件之間的通訊。nsnotificationcneter實現了觀察者模式,允許應用的不同物件之間以松耦合的方式進行通訊。nsnotificationcent...