ios 開發手記
ios私有方法:
我們有時會遇到,希望某個類的方法不能被它的繼承類所繼承,這個時候我們就要用到私有方法,所謂的私有方法就是把方法不寫在標頭檔案.h裡面而是寫在.m中,這樣別人不能直接呼叫,**例子如下。
假設現有的類為myclass:
在類的標頭檔案**為:
@inte***ce myclass
- (void)publicmethod;//公共方法,可以被繼承類繼承
@end
而在類的.m檔案中,採用類別來實現私有方法,具體操作為:
@inte***ce myclass()//注意(),即定義乙個空類別
- (void)privatemethod;//在類別中定義私有方法
@end
@implementation myclass
- (void)publicmethod
- (void)privatemethod
@end
ios的屬性和成員變數在
.h檔案和
.m檔案的不同
屬性在.h檔案中和在.m中宣告是有區別的。區別就是,在.h檔案中宣告的屬性,外部類可以通過「類例項.屬性」來呼叫,但在.m中宣告的則不可以,獲取和設定的方法,只能是通過setvalue:forkey和valueforkey來實現。
私有變數:
成員變數,有三種許可權,就是大家都知道的@private、@protected、@public
,寫在.m檔案中時,相當於是@private許可權,子類無法訪問。而寫在.h檔案中,預設是@protected許可權,子類可以訪問,可以做許可權修改。因為訪問許可權指針對.h檔案。
ios開發
- 詳談屬性設定
readwrite
、readonly
、retain
、copy
、assign
、nonatomic
1 . 可讀性: readonly、readwrite
@property(readwrite,....) valuetype value;
這個屬性是變數的預設屬性,就是如果你 (readwrite and readonly 都沒有使用,那麼你的變數就是readwrite屬性 ) ,通過加入 readwrite 屬性你的變數就會有 get 和 set 方法。
property(readonly,...) valuetype value;
這個屬性變數就是表明變數只有可讀方法,也就是說,你只能使用它的 get 方法。
2 . assign , setter方法直接賦值,不進行任何 retain 操作,為了解決原型別與環循引用問題
3 . retain , setter方法對引數進行 release 舊值再 retain 新值,所有實現都是這個順序
4 . copy ,setter 方法進行 copy 操作,與 retain 處理流程一樣,先舊值release ,再 copy 出新的物件,retaincount 為 1 。這是為了減少對上下文的依賴而引入的機制。
5 .nonatomic ,非原子性訪問,不加同步,多執行緒併發訪問會提高效能。
注意,如果不加此屬性,則預設是兩個訪問方法都為原子型事務訪問。鎖被加到所屬物件例項級 。 所以不加nonatomic 對與多執行緒是安全的 。
C 中容易忽略的一些概念
1.幾個名詞 cts common language sytem clr common language runtime cls common language specification 2.物件型別 值型別 簡單型別 結構型別 列舉 應用型別 class string 陣列 介面。delegat...
C 一些容易忽略的知識點
先看下c語言 c語言是一種面向過程的程式語言,是由資料結構和演算法組成的c語言程式設計,強調的是執行效率。1 c語言的歷史 1969至1973年 美國貝爾實驗室 2 c語言的功能 結構化程式設計 3 c語言的優點 高效 靈活,應用領域廣泛 4 c語言的缺點 c語言沒有自動釋放的機制,如果程式設計師在...
html5一些容易忽略的細節
最近由於經常寫前端,所以系統性的看了一下html5頁面的基礎資訊,雖然以前寫了很久的html 但是其中的一些細節還是容易被忽略,所以這裡一起整理一下。在html5中,空元素結尾處的空格和斜槓是可以忽略的。標籤中屬性值兩邊的引號是可選的。不過習慣上還是會寫上。屬性的數字值無需輸入單位,只需輸入數值本身...