IOS 雜筆 2(協議)

2022-03-26 13:32:54 字數 651 閱讀 1651

1.協議的定義

@protocol 協議名稱 

//方法宣告列表

@end;

2.如何遵守協議

(1)類遵守協議

@protocol 類名:父類名 《協議名稱1,協議名稱2>

@end

(2)協議遵守協議

@protocol 協議名稱 《其他協議名稱》

@end;

3.協議方法宣告中的關鍵字

(1)required (預設)要求實現,若沒有實現則警告但不報錯

(2)optional 不要求實現

4.定義變數時遵守協議的限制

類名《協議名稱》 *變數名    nsobject<.myprotocol> *obj;

id  《協議名稱》  變數名   id  <.myprotocol> obj1;

5.property中宣告的屬性也可以做遵守協議的限制

@property (nonatomic ,strong ) 類名《協議名稱》 *屬性名;

@property (nonatomic ,strong ) id《協議名稱》  屬性名;

6.協議本身寫在.h標頭檔案中,但也可以定義在任何地方。當這個協議只有這個類使用遵守時,一般把協議寫在這個類裡邊,當這個協議需要多個類去實現時,就寫在外邊單獨的檔案中。

IOS 雜筆 3 property引數

1 記憶體管理相關引數 retain 對物件release舊值,retain新值 適用於oc物件型別 assign 直接賦值 預設,適用於非oc物件型別 copy release舊值,copy新值 2 是否要生成set方法 若為唯讀屬性,則不生成 readonly 唯讀,只會生成getter的宣告和...

IOS 雜筆 14(被人遺忘的owner)

owner在開發中現在已經很少用了 有興趣的童鞋可以看看 我們遇到owner通常是在類似 nsbundle mainbundle loadnibnamed food owner nil options nil lastobject 中遇到的。我們一般的做法是直接把owner設定為self 通常是咋自...

String學習雜筆

一 字串轉換編碼 public staticstring translate catch exception e returnresult string byte bytes,string charsetname 把位元組陣列轉為字串,第乙個引數是位元組陣列,第二個引數是字元編碼。getbytes ...