class-dump [1] properly dumps properties as BOOLs where appropriate. Just had a quick look over the code but didn’t find anything particular to help you out, but you might want to take a look yourself.
[1] https://github.com/nygard/class-dump > On 16 Φεβ 2015, at 23:27, Akis Kesoglou <[email protected]> wrote: > > >> Yeah. Thanks. >> >> What I'm asking is how can I identify the property as a BOOL when analyzing >> property structures so that I can output "BOOL" to a descriptive string and >> if I analyze a char, I can output "char" as a descriptive string. >> >> Obviously, I can't use property_getAttributes() since it returns the same >> values for BOOL and char. >> >> What options are available here to detect that a property declared as a BOOL >> is a BOOL? >> > > objc.h typedefs BOOL as char/bool, as David says, so I don’t think you can > infer that a property is BOOL by introspecting the property — you’ll always > see char or bool. > > > >> Thanks. >> >> Sent from my iPad. Please pardon typos. >> >> On Feb 16, 2015, at 4:13 PM, David Duncan <[email protected]> wrote: >> >>> >>>> On Feb 16, 2015, at 1:06 PM, Alex Zavatone <[email protected]> wrote: >>>> >>>> Xcode 5.1.1 >>>> IOS 7.x >>>> >>>> I'm messing with an auto description category for NSObjects with the >>>> interest of dumping out a class's properties in the format of property >>>> name, property class and string equivalent of property value. >>>> >>>> I'm also considering supporting scalar primitive types that are not >>>> NSObjects, such as CGRects, BOOLs and so on. >>>> >>>> In doing this, I'm checking the property's attributes with >>>> property_getAttributes(). >>>> >>>> What is confusing here is that for properties that are declared as a non >>>> atomic BOOL, the attributes are Tc,N,V, where c codes for a char, >>>> according to the docs, according to the Runtime Property Attribute >>>> Description Examples. >>>> >>>> A char declared as a property returns exactly the same attributes as a >>>> BOOL with property_getAttributes(). >>>> >>>> But for an NSString, property_getAttributes()returns "T@"NSString",&,N >>>> >>>> It's easy to detect the NSString properties, but why isn't BOOL included >>>> in a BOOL's property attributes? Is a BOOL just a char (that's what this >>>> is telling me)? What is going on under the hood here. How can I properly >>>> identify a BOOL and tell the difference between a BOOL and a char if they >>>> are represented the same way? >>> >>> On Mac OS X and 32-bit iOS targets, BOOL is a char, on 64-bit iOS targets >>> its a C/C++ style ‘bool’. >>> >>>> Thanks much, >>>> Alex Zavatone. >>>> >>>> Sent from my iPad. Please pardon typos. >>>> _______________________________________________ >>>> >>>> Cocoa-dev mailing list ([email protected]) >>>> >>>> Please do not post admin requests or moderator comments to the list. >>>> Contact the moderators at cocoa-dev-admins(at)lists.apple.com >>>> >>>> Help/Unsubscribe/Update your Subscription: >>>> https://lists.apple.com/mailman/options/cocoa-dev/david.duncan%40apple.com >>>> >>>> This email sent to [email protected] >>> >>> -- >>> David Duncan >>> >> >> _______________________________________________ >> >> Cocoa-dev mailing list ([email protected]) >> >> Please do not post admin requests or moderator comments to the list. >> Contact the moderators at cocoa-dev-admins(at)lists.apple.com >> >> Help/Unsubscribe/Update your Subscription: >> https://lists.apple.com/mailman/options/cocoa-dev/akiskesoglou%40gmail.com >> >> This email sent to [email protected] > _______________________________________________ Cocoa-dev mailing list ([email protected]) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to [email protected]
