重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
在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方法.這樣由于屬性的定義程序編輯起來會簡化,減少工作量,縮減時間.
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。