iOS型別裡面新增屬性

2021-07-11 20:50:26 字數 960 閱讀 1436

1、在.h裡面新增屬性

#import

@inte***ce uiviewcontroller(uiviewextend)  

@property

(nonatomic

,retain

)nsstring

*key;

@end

2、在.m檔案裡面新增屬性的關聯

#import "uiviewcontroller+uiviewextend.h"

#import

//定義key屬性的唯一標識,訪問都是根據該標識處理的

static

void *propertykey = (void *)@"propertyk

ey";  

@implementation uiviewcontroller(hgjextend) 

//key屬性的get方法,

//該方法根據

propertyk

ey唯一標示取出對應的值

- (nsstring

*)key

//key屬性的set方法,該方法根據

objc_association_copy_nonatomic

定義的存放策略

//把key1的值儲存到propertyk

ey對應的記憶體裡面

- (void)setkey:(nsstring

*)key1 

3、objc_association_copy_nonatomic屬性對應.h裡面定義的nonatomic和

retain

字斷,

按照前面屬性的設定來定義該字斷型別:

typedef

objc_enum(uintptr_t, objc_associationpolicy) ;

4、使用

[self setkey:@"hello extend"];

[self key];

iOS分類新增屬性

我們可以通過runtime來給ios的分類新增屬性.1.首先我們像普通的類一樣在.h裡頭使用 property宣告乙個屬性 ch.h.這裡是 類的ch分類的.h檔案 inte ce ch property nonatomic strong nsstring name end這時,m中就會出現兩個警告...

iOS動態新增屬性

之前一篇文章 ios關聯物件 詳細介紹了如何通過關聯物件新增屬性,本篇文章將介紹如何通過runtime的class addproperty或class addivar動態新增屬性,並且帶領大家看看這兩個方法底層是如何實現的。對於已經存在的類我們用class addproperty方法來新增屬性,而對...

ios 分類新增屬性。

我們都知道可以通過分類新增方法,但是是否可以新增變數有一部分人就不知道了 其實分類裡面是不可以新增成員變數的,但是卻可以新增屬性。這是因為在分類中新增的屬性不會自動生成set get方法,這是就需要自己在分類的實現檔案裡面實現屬性的set get方法,如果你跟平時一樣去寫set get方法你會發現 ...