這裏是比較操作我想這樣做:如何使用ivar_getTypeEncoding&encode動態確定和比較對象ivars的類型?
// foobar is the name of an ivar on some class
// i.e. NSDate *foobar;
const char *ivarType = [self getTypeForInstanceVariableWithName:@"foobar"];
const char *objType = @encode(NSDate);
if (strcmp(ivarType, objType) == 0) {
//set value
}
NSLog(@"comparing %s with %s", ivarType, objType);
Helper方法:
- (const char*)getTypeForInstanceVariableWithName:(NSString *)name {
return ivar_getTypeEncoding(class_getInstanceVariable([self class], [name cStringUsingEncoding:NSUTF8StringEncoding]));
}
的NSLog結果:
comparing @"NSDate" with {NSDate=#}
如何合作me @encode返回與ivar_getTypeEncoding()不同的類型語法?有沒有更好的方法來完成這種類型的確定?我必須在這裏失去一些東西... 謝謝!
太棒了!感謝您的幫助,非常感謝! – MTurner 2012-04-17 23:44:48