程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> objective ...-基於oc的ios開發,如何給一個系統類添加一個屬性?

objective ...-基於oc的ios開發,如何給一個系統類添加一個屬性?

編輯:編程解疑
基於oc的ios開發,如何給一個系統類添加一個屬性?

基於oc的ios開發,如何給一個系統類添加一個屬性? 目前我知道可以用繼承或類別實現。但不知道哪種方式好

最佳回答:


用類別:
.h文件
#import

@interface UIButton (TLButton)
@property(nonatomic,strong,readwrite)NSNumber* cityId;
@property(nonatomic,strong,readwrite)NSNumber* typeId;
@property(nonatomic,readwrite)NSNumber* pross;
@end
.m文件
#import "UIButton+TLButton.h"
@implementation UIButton (TLButton)
-(NSNumber *)cityId
{
return objc_getAssociatedObject(self, @selector(cityId));
}

  • (void)setCityId:(NSNumber *)cityId
    {

    [self willChangeValueForKey:@"cityId"];
    objc_setAssociatedObject(self, @selector(cityId), cityId, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
    [self didChangeValueForKey:@"cityId"];
    }
    -(NSNumber )typeId
    {
    return objc_getAssociatedObject(self, @selector(typeId));
    }
    -(void)setTypeId:(NSNumber *)typeId
    {
    [self willChangeValueForKey:@"typeId"];
    objc_setAssociatedObject(self, @selector(typeId), typeId, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
    [self didChangeValueForKey:@"typeId"];
    }
    -(NSNumber
    )pross
    {
    return objc_getAssociatedObject(self, @selector(pross));
    }
    -(void)setPross:(NSNumber*)pross
    {
    [self willChangeValueForKey:@"pross"];
    objc_setAssociatedObject(self, @selector(pross), pross, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
    [self didChangeValueForKey:@"pross"];
    }
    @end

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved