亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

ISO學習筆記2015-03-15

2019-11-14 19:26:55
字體:
來源:轉載
供稿:網友
Objective--C 一 關鍵字@PRoperty 定義變量函數@synthesize  實現變量函數二 函數alloc 分配內存init 初始化new 替代上面兩個函數 分配內存,并且初始化三 規則 0 變量的修飾符 @public @protected @private  @package@public    實例變量可以被在任何地方訪問。@protected 實例變量能被聲明它的類和子類訪問,所有沒有顯式制定范圍的實例變量都是@protected的。@private 實例變量只能被聲明它的類訪問。@package 使用runtime modern,一個@package實例變量在實現這個類的可執行文件鏡像中實際上是@public的,但是在外面就是@private(runtime請參考蘋果文檔Runtime Programming Guide)。         這個類型最常用于框架類的實例變量,使用@private太限制,使用@protected或者@public又太開放。1  類的實例成員變量(非靜態變量)賦值/取值 通常可以有三種方式,需要注意的是給字符串賦值時需要在字符串前加前綴 @ ;還有就是這些變量的訪問只能在非靜態函數轉中訪問;A 對象.成員變量 @protected @public @private  B 對象->成員變量  @public C [對象 成員變量set/get函數]  @public @protected @private  2 類的靜態變量 A Objective-C自身時不支持靜態變量的,但是由于ObjectiveC是C語言的超類,所以可以使用C語言的static關鍵字來創建全局變量,全局變量跟java里的static變量是一樣的,只有在類第一次加載的時候才初始化,知道程序被銷毀才被釋放掉B 靜態變量的調用都必須在靜態方法中,無論是賦值還是取值 C static靜態變量還可以在方法內定義,只不過在方法內定義的static靜態變量只能在方法內調用,方法外無法調用。
3 動態函數 A 標識符 - B 調用方式 [實例化對象 函數]C 實例方法在堆棧上D 不能調用靜態函數4 靜態函數 A 標識符 +B 調用方式 [類 函數]C 靜態方法在堆上分配內存 D 不能調用非靜態函數,其實也不是,假如在.h中沒有定義,是不能調用的;5 靜態方法與實例方法區分A 靜態方法常駐內存,實例方法不是,所以靜態方法效率高但占內存。事實上,方法都是一樣的,在加載時機和占用內存上,靜態方法和實例方法是一樣的,在類型第一次被使用時加載。調用的速度基本上沒有差別B 靜態方法在堆上分配內存,實例方法在堆棧上。事實上所有的方法都不可能在堆或者堆棧上分配內存,方法作為代碼是被加載到特殊的代碼內存區域,這個內存區域是不可寫的C 實例方法需要先創建實例才可以調用,比較麻煩,靜態方法不用,比較簡單。D 靜態方法是靜態綁定到子類,不是被繼承。E 一般使用頻繁的方法用靜態方法,用的少的方法用動態的。靜態的速度快,占內存。動態的速度相對慢些,但調用完后,立即釋放類,可以節省內存,可以根據自己的需要選擇是用動態方法還是靜態方法。F 靜態方法修改的是類的狀態,而對象修改的是各個對象的狀態,這點也是它們重要的區別G 類的實例化調用是在類的生命周期中存在,當類沒有了以后,對應的實例也就沒有了,對應的方法也就沒有了,靜態類不然,只要你引用了那個靜態類的命名空間,他就會一直存在,知道你退出系統。6 alloc/init 與 new A 在實際開發中很少會用到new,一般創建對象咱們看到的全是[[className alloc] init]B 區別只在于alloc分配內存的時候使用了zone 它是給對象分配內存的時候,把關聯的對象分配到一個相鄰的內存區域內,以便于調用時消耗很少的代價,提升了程序處理速度; C 而為什么不推薦使用new?如果使用new的話,初始化方法被固定死只能調用init. 而你想調用initXXX怎么辦?沒門兒D 采用new的方式只能采用默認的init方法完成初始化,采用alloc的方式可以用其他定制的初始化方法。 7 @property @synthesize A 作用 簡化屬性變量的SET,GETB 簡單語法語法 B1 @property 數據類型 變量名; 在.h 文件中; B2 @synthesize 變量名;C 復雜語法 C1 如果事先沒有在{}中注冊成員變量 _A,但是用@property定義了成員變量_A,那么系統會生成成員變量_A,但是該成員變量的是作用域是Private,所以了就不能用 對象->成員變量 來調用了 這個更為簡潔 C2 如果事先已經在{}中注冊成員變量 _A,而且用@property定義了成員變量_A,那么系統會使用{}中成員變量_A, 而且必須在.m文件中用@synthesize實現,不然系統會報警告, 作用域以{}中的為標準,這個更為傳統,嚴謹D 屬性 聲明property的語法為: @property (參數) 類型 名字;這里的參數主要分為三類: 讀寫屬性(readwrite/readonly) setter語意(assign/retain/copy) 原子性atomicity(nonatomic) D1 readwrite 默認屬性 有get/set方法 D2 readonly 只有get方法,沒有set方法 所以它不可以和 copy/retain/assign組合使用 D3 nonatomic atomic和nonatomic用來決定編譯器生成的getter和setter是否為原子操作。在多線程環境下,原子操作是必要的,否則有可能引起錯誤的結果 I, 當一個變量聲明為nonatomic時,意味著多個線程可以同時對其進行訪問 II, 當一個變量聲明為nonatomic時,它是非線程安全型,訪問速度快; III, 當一個變量聲明為nonatomic時,當兩個不同的線程對其訪問時,容易失控。 D4 atomicity 默認屬性 線程安全原子操作 I,當一個變量聲明為atomic時,意味著在多線程中只能有一個線程能對它進行訪問 II,當一個變量聲明為atomic時,該變量為線程安全型,但是會影響訪問速度, III 當一個變量聲明為atomic時,在非ARC編譯環境下,需要設置訪問鎖來保證對該變量進行正確的get/set D5 assign 簡單賦值,不更改索引計數 對基礎數據類型 (例如NSInteger,CGFloat)和C數據類型(int, float, double, char, 等)
            I 用于基本數據類型 D6 retain: 與strong相對應,使用了引用計數,retain+1,release -1;當引用 計數為0時,dealloc會被調用,內存被釋放
            I 通常用于非字符串對象 D7 copy用于非共享內存時,每個指針有自己的內存空間
            I 通常用于字符串對象
        

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧美精品在线| 国产偷国产偷亚洲清高网站| 欧洲亚洲免费视频| www.精品av.com| 久久久久久久久中文字幕| 最近更新的2019中文字幕| 国产视频在线一区二区| 久久久久久伊人| 国产成人福利夜色影视| 97人人爽人人喊人人模波多| 日韩在线观看免费全集电视剧网站| 亚洲精品视频播放| 91av免费观看91av精品在线| 亚洲精品自拍第一页| 福利精品视频在线| 日韩精品高清在线| 国产精品日韩在线播放| 欧美精品中文字幕一区| 日韩高清有码在线| 欧美国产日韩一区二区三区| 国产精品ⅴa在线观看h| 久久琪琪电影院| 日韩av免费在线| 国产成人精品久久二区二区| 亚洲成人久久一区| 国产精品直播网红| 国产精品久久久久国产a级| 国产日韩在线免费| 日韩美女中文字幕| 亚洲成人国产精品| 91精品久久久久久久久不口人| 社区色欧美激情 | 中文国产成人精品久久一| 亚洲精品99久久久久中文字幕| 亚洲日韩欧美视频一区| 日韩精品视频在线| 亚洲精品成a人在线观看| 成人性生交大片免费看小说| 国产精品免费观看在线| 九九视频直播综合网| 中文字幕精品www乱入免费视频| 精品自在线视频| 日韩福利在线播放| 成人激情视频免费在线| 亚洲欧美精品伊人久久| 97视频免费看| 国产精品日韩在线观看| 97在线视频精品| 中文字幕综合在线| 欧美美最猛性xxxxxx| 久久精品电影一区二区| 亚洲精品成人久久电影| 欧美日韩亚洲一区二区三区| 欧美激情一区二区三区成人| 亚洲精品xxx| 亚洲成人999| 国产日韩欧美视频在线| 中文字幕免费精品一区| 亚洲第一福利在线观看| 亚洲天堂男人天堂女人天堂| 精品无人区太爽高潮在线播放| 成人做爽爽免费视频| 国产成人欧美在线观看| 国产日韩精品在线观看| 久久亚洲精品视频| 成人观看高清在线观看免费| 欧美电影免费观看| 欧美激情精品久久久久| 亚洲九九九在线观看| 亚洲国产精品福利| 国内精品小视频在线观看| 亚洲欧美三级伦理| 亚洲欧美精品中文字幕在线| 亚洲男人天堂九九视频| 欧美孕妇性xx| 午夜精品美女自拍福到在线| 亚洲欧美日韩一区在线| 欧美综合国产精品久久丁香| 日韩大片在线观看视频| 国产精品自产拍在线观看| 最近的2019中文字幕免费一页| 欧美一级电影在线| 亚洲天堂日韩电影| 亚洲丁香婷深爱综合| 91美女福利视频高清| 欧美国产高跟鞋裸体秀xxxhd| 亚洲一区二区三区sesese| 国产精品视频99| 国产精品亚洲精品| 欧美性猛交xxxx免费看漫画| 成人激情av在线| 久久伊人精品天天| 欧美精品一二区| 国产成人精品一区二区| 欧美天堂在线观看| 亚洲一品av免费观看| 久久久国产一区| 日本久久精品视频| 成人在线播放av| 5566成人精品视频免费| 91成人在线视频| 亚洲精品电影久久久| 欧美视频在线看| 欧美性一区二区三区| 蜜臀久久99精品久久久无需会员| 欧美大片在线影院| 人人做人人澡人人爽欧美| 日韩欧美国产中文字幕| 欧美尺度大的性做爰视频| 97国产精品视频人人做人人爱| 日韩中文娱乐网| 欧美电影在线观看高清| 国产精品久久久91| 国产亚洲精品成人av久久ww| 欧美一级高清免费播放| 亚洲欧美日韩中文在线| 日韩欧美一区二区三区久久| 欧美日韩免费区域视频在线观看| 久久男人av资源网站| 美日韩精品免费观看视频| 亚洲一区二区三区乱码aⅴ蜜桃女| 亚洲精品一区二区三区不| 国产高清视频一区三区| 日日噜噜噜夜夜爽亚洲精品| 九九久久综合网站| 精品无码久久久久久国产| 国产精品主播视频| 日韩成人在线观看| 久久久久久久久亚洲| 亚洲午夜精品久久久久久久久久久久| 精品免费在线视频| 久久香蕉国产线看观看av| 亚洲第一福利网站| 免费91在线视频| 国产精品久久久久久久天堂| 午夜剧场成人观在线视频免费观看| 日韩中文在线不卡| 色偷偷888欧美精品久久久| 日韩在线观看免费全| 日本久久久久亚洲中字幕| 一区二区三区四区精品| 韩国欧美亚洲国产| 精品久久久久久亚洲国产300| 欧美日韩中国免费专区在线看| 69av在线视频| 亚洲系列中文字幕| 国产成人一区二区三区| 亚洲伊人一本大道中文字幕| 国产乱肥老妇国产一区二| 欧美一区二区大胆人体摄影专业网站| 98视频在线噜噜噜国产| 55夜色66夜色国产精品视频| 国产精品精品国产| 国产午夜精品全部视频播放| 久久国产精品影片| 欧美裸体xxxx极品少妇软件| 亚洲自拍欧美另类| 国产999精品视频| 国产精品久久久久久久久粉嫩av| 亚洲性无码av在线| 国产日韩视频在线观看| 亚洲精品色婷婷福利天堂| 亚洲成成品网站| 亚洲日韩欧美视频|