1. 程式人生 > >@property引數-set,get方法-setter,getter方法,-Objective-C基礎-IOS001

@property引數-set,get方法-setter,getter方法,-Objective-C基礎-IOS001

1.生成get與set方法的宣告

2.生成get與set方法的簡單實現

3.如果你沒有宣告相對應的成員變數,那麼它會自動生成一個_開頭的成員變數(私有變數)

@property的引數型別

1.與set方法記憶體管理相關引數

    1)retain:要生成符合記憶體管理原則的set方法(應用於物件型別);

    2)assign:直接賦值(物件型別,基本資料型別);

    3)copy

2.多執行緒相關

    1)nonatomic:不生成多執行緒管程式碼,使用這個就可以(效率高一點);

    2)atomic:生成多執行緒管程式碼(不寫預設是這種方式)。

3.是否要生成set與get方法

    1)readwrite

    2)readonly

4.set與get方法名稱相關的引數

    1)setter:設定生成的set方法名稱

    2)getter:設定生成的get方法名稱

    例如:@property (nonatomic, assign) int height;

        Xcode自動生成

        對應的set方法:- (void)setHeight:(int)height;

              get方法:- (int)height;  // special 

        而換做為setter方法時:

               @property (nonatomic, assign, setter = fun:

) int height;

               呼叫set方法時,[p fun:100];

               呼叫get方法時,NSLog(@"height is", p.height); //未改變的get方法;

        而換做getter方法時:

                 @property (nonatomic, assign, setter = fun:, getter = getFun) int height;

                  呼叫時:[p fun:100];

                          int b = [p getFun];

    註釋:

    其中p.height = 100; //實質是呼叫set方法

          NSLog(@"height is", p.height); //實質是呼叫get方法

    總結

    改變set與get方法名稱多用於BOOL型別的變數;

        @property (nonatomic, assign, setter = isDied:, getter = isDied) BOOL isDeid;

        [p isDied:NO];    //set

        [p isDied];    //get

        p.isDied = YES;    //set

        BOOL result = p.isDied;    //get

相關推薦

@property引數-set,get方法-setter,getter方法-Objective-C基礎-IOS001

1.生成get與set方法的宣告 2.生成get與set方法的簡單實現 3.如果你沒有宣告相對應的成員變數,那麼它會自動生成一個_開頭的成員變數(私有變數) @property的引數型別 1.與set方法記憶體管理相關引數     1)retain:要生成符合

OC - @propertysetter,getter方法

先說說setter與getter方法的作用 先上一段.m /*================================================= 設計一個K線類, 有三個屬性, 最高價格, 最低價格, 平均價格. 要求可以設定和獲取這三個屬性 ======

iOS中setter方法getter方法、點語法、@property

屬性概念 屬性是OC的一項特性,用於封裝物件中的資料 OC物件通常會把其所需要的資料儲存為各種屬性 屬性通過存取方法來訪問(setter、getter) 例如:在Person類中定義了2個屬性 通過@property語法,編譯器會自動生成一套存取方法 #im

lombok使用之簡便宣告屬性的setter/getter方法

lombok中的註解能替代屬性的傳統getter/setter宣告方式。 使用方式: pom.xml <dependency> <groupId>org.projectlombok</groupId>

maven中新增lombok自動具備set,get已經toString等方法

1.在pom.xml中新增: <dependencies>     <dependency>         <groupId>org.projectlombok<

oc學習之setter方法getter方法簡單的命名規則

#import <Foundation/Foundation.h>@interface  Student :NSObject//類名的首字母大寫,以後每個單詞的首字母大寫{//例項變數的定義,命名通常以_開頭,第一個單詞的首字母小寫,以後每個單詞的首字母大寫   

iOS ARC MRC情況下重寫setter getter方法

MRC: @interface People : NSObject @property (nonatomic,retain) NSArray *oneArr; @end setter: - (void)setOneArr:(NSArray *)

How to set tab bar item title programmatically in objective c?

I want to set title to tab item programatically You can set all the UITabBar icons in an easy way. You can do this in your viewWillAppear:method: [[self.

python3的getter方法setter方法以及property修飾

列表 def 如果 值類型 內存 prope 返回值 添加屬性 私有化 class Dog: def __init__(self,name,age): self.__name = name self.__age = age @

【OC學習-8】存取器方法gettersetter?事實上就是賦值和返回值的兩種函數

trac -m main 都是 protect pro 聲明 return 安全 我們在聲明類的時候,有實例變量+方法(函數),這些實例變量假設默認的話都是protected類型,一般無法直接訪問。更別提賦值和調用了,所以就產生了兩種函數,ge

iOS開發核心語言Objective C —— 面向對象思維、settergetter方法及點語法

才幹 各路 alt .net 行為 變量的作用域 fadein 格式 讀取 本分享是面向有意向從事iOS開發的夥伴們。或者已經從事了iOS的開發人員。假設您對iOS開發有極高的興趣,能夠與我一起探討iOS開發。一起學習,共同進步。假設您是零基礎,建議您先

Objective-C方法gettersetter可以用點運算符嗎?

clang col 靜態變量 變量 uri family lan getc sta Objective-C中,對象實例property的getter和setter可以使用點運算符來操作,那麽類方法的getter和setter可以使用點運算嗎? 答案是肯定的。 看如下代碼

C語言復雜struct類型get或者set字段的簡化方法

難度 很多 今天 class 作者 prop 簡化 http if else p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px ".PingFang SC"; color: #454545 } span.s1 { fo

第十二篇:隨手記一下javaBean的settergetter方法的命名問題

今天測試新寫的一個系統表的完整Ibatis配置和呼叫,因為經驗少,到處撞牆、、、其他的坑爹問題就不提了       測試sqlMapClient.queryForList("...",param)這個方法,查詢正常有3條記錄,但是結果卻是[

ajax-使用get方法和POST方法向伺服器傳送引數

目錄 使用get方法: 使用POST方法:   void open(String method,String url,boolean asyncn,String username,String password);   這個方法會建立對伺服器的呼叫。

idea中註解“@Data”沒有起setget作用的解決方法

1.原因是:spring cloud中使用@Data標籤,不用手動新增get set方法,但是如果專案中其他類中使用get、set方法,如果報錯,原因是idea中沒有新增Lombok外掛,新增上外掛便可以解決。截圖如下   2.在File--->setting中先查

關於類的程式碼寫法..this,構造方法,成員方法(set,get)

this: 表示所在類的物件引用, 成員方法(set,get): 直接寫在class下,不需要main方法, 有預設值null,0等…寫在main裡面的叫區域性變數,沒有預設值 成員方法 構造方法: 1.方法名和類名相同 2.沒有返回值型別,void也不能有 3.沒有返回值 publ

覺得java模型物件set,get方法很多餘,程式碼臃腫?使用lombok秒解

1 lombok 是幹啥的?   2 . 怎麼使用??     maven 匯入依賴   作用:專案在編譯時根據Lombok註解生成通用方法 <dependency> <groupId&g

關於 java 中的 set,get方法而為什麼不推薦直接使用public

我不知道有沒有人遇到過,有一段時間,我都覺得那些 set,get的用處何在,我直接寫一個public直接拿不就行了,多爽,但是隨著使用的頻繁,越來越想去搜索一下這個問題,而不是按照官方的推薦,前輩們的使用都是建議set,get. 首先,對於網上那些說到的效率問題,真的感覺很喪,一種是通過一個方法

lombok自動生成set,get,方法

lombok 安裝使用 lombok 是需要安裝的,如果不安裝,IDE 則無法解析 lombok 註解。先在官網下載最新版本的 JAR 包,現在       是 0.11.2 版本,我用的是 0.11