iOS Runtime
這篇文章的來源是自己的筆記,因為時間有點久了,所以引用的來源想不起來了,實在不好意思。
引用來源應該也是簡書、csdn、cnblog或者coacoaChina部落格的幾篇文章,我把自己看起來比較有體會,好理解的片段摘錄了一下,望見諒。
class_copyPropertyList獲得的是屬性變數,由@property修飾過的變數。
class_copyIvarList獲得的是例項變數,包括class_copyPropertyList修飾的以及在m檔案的中@implementation內定義的變數。
//.h
@interface Model : NSObject
@property (nonatomic,copy) NSString *sex;
@property (nonatomic,copy) NSString *name;
@property (nonatomic,assign) NSInteger age;
@property (nonatomic,strong) NSDictionary *imgCode;
@end
//.m
@interface Model ()
@property (nonatomic,copy) NSString *Id;
@end
@implementation Model {
NSInteger _index;
}
@end
//使用的時候
unsigned int propertiesCount =0;
unsigned int ivarsCount =0;
objc_property_t *properties = class_copyPropertyList(Model, &propertiesCount);
Ivar *ivars = class_copyIvarList(Model, &ivarsCount);//instance variable
則
propertiesCount = 5
ivarsCount = 6
遍歷
unsigned int outCount = 0;
Ivar *ivars = class_copyIvarList([object class], &outCount);
for (int i = 0; i < outCount; ++i) {
// 遍歷取出該類成員變數
Ivar ivar = ivars[i];
NSLog(@"\n name = %s \n type = %s", ivar_getName(ivar), ivar_getTypeEncoding(ivar));
NSString *columnString = [NSString stringWithUTF8String:ivar_getName(ivar)];
id value = [object valueForKey: columnString];
}
free(ivars);
相關文章
- iOS~runtimeiOS
- [iOS] ios的runtimeiOS
- iOS Runtime 原理iOS
- iOS RunTime解析iOS
- iOS Runtime(一) Runtime的應用iOS
- iOS RunTime 總結iOS
- iOS Runtime的理解iOS
- iOS Runtime詳解iOS
- iOS 防止Crash之runtimeiOS
- iOS Runtime 實踐(1)iOS
- iOS runtime程式設計iOS程式設計
- iOS探索 runtime面試題分析iOS面試題
- iOS Runtime介紹和使用iOS
- iOS底層面試題--RuntimeiOS面試題
- 【iOS開發進階】-RunTimeiOS
- iOS底層原理探究-RuntimeiOS
- iOS --runtime理解與應用iOS
- iOS runtime學習筆記iOS筆記
- iOS開發之runtime(一):runtime除錯環境搭建iOS除錯
- iOS之runtime詳解api(一)iOSAPI
- iOS Runtime 初識與應用iOS
- iOS之runtime詳解api(三)iOSAPI
- iOS之runtime詳解api(二)iOSAPI
- iOS之runtime詳解api(四)iOSAPI
- iOS 問題整理04----RuntimeiOS
- iOS runtime 給 Category 加屬性iOSGo
- iOS底層原理(二):Runtime研究(一)iOS
- iOS 常見知識點(一):RuntimeiOS
- ios中Runtime的介紹以及使用iOS
- iOS重要知識-- KVC、KVO、runloop、runtimeiOSOOP
- ios萬能跳轉介面方法(Runtime)iOS
- iOS面試中經常問的點 – RunTimeiOS面試
- iOS探索:Runtime之基本資料結構iOS資料結構
- iOS 利用Runtime實現萬能歸檔iOS
- Runtime-iOS執行時應用篇iOS
- iOS開發之Runtime常用示例總結iOS
- iOS開發Runtime的理解與應用iOS
- iOS面試中經常問的點 - RunTimeiOS面試