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方法你會發現 ...