我正在使用performSelector:返回一个id对象的 来调用其他几种方法。这些方法的返回类型实际上可以是BOOL、int或NSDate任何其他类型的对象。
如何判断返回的对象是否performSelector:为 a BOOL?我尝试将其转换为 aNSNumber等,但如果对象不是BOOL.
我有一个具有以下属性的类:
@property(retain,nonatomic) NSString* A;
@property(assign,nonatomic) BOOL B;
@property(retain,nonatomic) NSArray* C;
@property(assign,nonatomic) int64_t D;
这个类是由框架生成的,所以我不能改变它。但我想循环A, B, C,D来调用每个属性并检索数据。但是,如您所见,返回类型可能会有所不同,我需要对此进行调整。
我正在做类似的事情:
SEL s = NSSelectorFromString(@"A");
id obj = [object performSelector:s];
//check if obj is BOOL
//do something with obj