溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

淺談OC中的屬性

發布時間:2020-06-17 22:50:41 來源:網絡 閱讀:731 作者:liuyasonghao 欄目:開發技術

      在OC屬性這個知識點,主要講如何去創造一個屬性來簡化代碼的編輯.在一個類中,實例變量如果可見度不是public則在主函數中訪問時無法使用對象加指向操作符(->)來訪問實例變量的賦值.所以定義了setter和getter方法.

       setter方法是為實例變量設置一個值,所以稱setter方法為設置器.它的格式為- (void)set首字母大寫的實例變量名:(實例變量的數據類型)實例變量名.例如:- (void)setName:(NSString *)name.但是在setter方法中雖然給實例變量賦值但是主函數還是無法調用.這是就需要一個方法可以讓主函數訪問到這個值.所以getter方法就很有必要了.getter方法稱為訪問器.它的格式為- (實例變量名的數據類型)加實例變量名.例如:- (NSString *)name;但是如果實例變量多了這樣需要寫的setter和getter方法就更多了.所以為了簡化代碼量類的屬性就誕生了.

       類的屬性@property (實例變量的數據類型)實例變量名.例如:@proprty (NSString *)name.它包含了這個實例變量的一對設置器與訪問器.如果在類中沒有聲明實例變量.它會自動生成一個實例變量變量名為_name.在xcode4.2以后就不用再在.m文件中來寫設置器與訪問器的實現.它會自動生成.所以這就大大減少了編輯程序時的代碼量.一個類的屬性,會自動生成一組設置器與訪問器以及其代碼實現,如果未提前定義實例變量還會自動生成相應的實例變量.在組函數中調用方法是可以用[對象 sttter方法] [對象 getter方法]來實現對實例變量的訪問.

另外還可以使用點語法來對實例變量進行訪問.格式為對象.屬性名.例如:Person *person =[ [Person alloc] init]; person.name = @"zhangsan";這相當與是一個setter方法. NSString *name = person.name;這相當于一個getter方法.這樣由于屬性的定義程序編輯起來會簡化,減少工作量,縮減時間.

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女