iOS runtime 給 Category 加屬性
首先建立一個 Model 類
#import <Foundation/Foundation.h>
@interface Model : NSObject
@end
新增 Category
標頭檔案
#import "Model.h"
@interface Model (Data)
@property (nonatomic,copy) NSString *data;
@end
m檔案
#import "Model+Data.h"
#import <objc/runtime.h>
NSString *const kData = @"data";
@implementation Model (Data)
- (NSString *)data{
return objc_getAssociatedObject(self, (__bridge const void *)(kData));
}
- (void)setData:(NSString *)data{
objc_setAssociatedObject(self, (__bridge const void *)(kData), data, OBJC_ASSOCIATION_COPY);
}
測試
#import <XCTest/XCTest.h>
#import "Model.h"
#import "Model+Data.h"
@interface TestRunTimerTests : XCTestCase
{
Model *model ;
}
@end
@implementation TestRunTimerTests
- (void)setUp {
[super setUp];
model = [Model new];
}
- (void)testCartygor1{
model.data = @"ddddd";
NSLog(@"%@",model.data);
NSAssert([model.data isEqualToString:@"ddddd"], @"fail--------");
}
- (void)testCartygor2 {
NSLog(@"---- - =%@= ---",model.data);
NSAssert(true, @"fail--------");
}
相關文章
- Runtime 系列 3-- 給 category 新增屬性Go
- iOS利用runtime給分類擴充套件屬性iOS套件
- iOS利用runtime給分類擴充套件屬性Strong bool copyiOS套件
- CSS——CSS 給文字加樣式:① 字型屬性CSS
- CSS——CSS 給文字加樣式:② 文字屬性CSS
- iOS開發 Runtime是如何實現weak屬性的?iOS
- iOS 開發:『Runtime』詳解(三)Category 底層原理iOSGo
- iOS開發之遍歷Model類的屬性並完善使用Runtime給Model類賦值iOS賦值
- Runtime之分類新增屬性
- 探秘Runtime - 深入剖析CategoryGo
- Category新增weak屬性的精簡版本Go
- iOS runtime實戰應用:成員變數和屬性iOS變數
- iOS動畫 屬性屬性解析iOS動畫
- iOS 用runtime為分類新增成員變數或屬性iOS變數
- runtime為類別增加屬性
- 利用Runtime清空單例屬性單例
- Runtime原始碼 Category(分類)原始碼Go
- iOS 開發:『Runtime』詳解(四)獲取類詳細屬性、方法iOS
- 老生常談category增加屬性的幾種操作Go
- Objective-C語言在Category中實現屬性ObjectC語言Go
- js如何獲取給定屬性的屬性值JS
- iOS UITableView 修改屬性iOSUIView
- iOS 富文字屬性iOS
- PropertyGrid控制元件 分類(Category)及屬性(Property)排序控制元件Go排序
- IOS category 與 extensioniOSGo
- iOS底層原理總結 -- 利用Runtime原始碼 分析Category的底層實現iOS原始碼Go
- Swift iOS : @escaping 屬性SwiftiOSAPI
- iOS開發之使用Runtime給Model類賦值iOS賦值
- iOS底層原理-CategoryiOSGo
- iOS設計模式——CategoryiOS設計模式Go
- 給iOS開發新手送點福利,簡述UISwitch的屬性和用法iOSUI
- 給iOS開發新手送點福利,簡述UITextField的屬性和用法iOSUI
- 給iOS開發新手送點福利,簡述UIActivityIndicatorView的屬性和用法iOSUIIndicatorView
- 給iOS開發新手送點福利,簡述UIAlertView的屬性和用法iOSUIView
- 給iOS開發新手送點福利,簡述UIView的屬性和用法iOSUIView
- 給iOS開發新手送點福利,簡述UISegment的屬性和用法iOSUI
- 給iOS開發新手送點福利,簡述UITableView的屬性和用法iOSUIView
- 給iOS開發新手送點福利,簡述UIPikerView的屬性和用法iOSUIView