2014-02-27 53 views
1
unsigned int outCount, i; 

objc_property_t *properties = class_copyPropertyList([self class], &outCount); 

for (i = 0; i < outCount; i++) 
{ 
    objc_property_t property = properties[i]; 

    NSString *propertyType = [NSString stringWithCString: property_getAttributes(property) encoding:NSUTF8StringEncoding]; 
} 

propertyType always Tc,V_xxx無論此屬性是bool還是char。如何在objective-c中識別一類數據類型bool或char的屬性?

如何在objective-c中識別一類數據類型bool或char的屬性?

回答

0

你不能因爲在Objective-C BOOL中是unsigned char。 所以,你可以做這樣的事情

BOOL b = 10; 
NSLog(@"%d", b); // 10 

布爾可以只是0和1:

bool b = 10; 
NSLog(@"%d", b); // 1 

那麼有沒有辦法讓BOOL和字符之間100%的區別。

+0

有些平臺對BOOL使用'B'(目前只有arm64 iOS)。否則這是正確的。 –