Re: unsigned long long + id = ???
Re: unsigned long long + id = ???
- Subject: Re: unsigned long long + id = ???
- From: Andrew Farmer <email@hidden>
- Date: Thu, 8 Feb 2007 12:57:34 -0800
On 08 Feb 07, at 12:49, Claudio Procida wrote:
I have a class Foo with a method -(unsigned long long)size.
I realized today that when I get an id reference to an object of
class Foo, if I don't explicitly cast to (Foo *), the result is
meaningless.
I didn't check, but it *seems* to be interpreted as signed int
Here's the code:
- (id)outlineView:(NSOutlineView *)outlineView
objectValueForTableColumn:(NSTableColumn *)tableColumn
byItem:(id)item {
//...
NSLog(@"s:%qu", [item size]);
NSLog(@"s:%qu", [(Foo *)item size]);
And the results:
2007-02-08 21:19:40.093 Singular[19919] s:14065436521166900
2007-02-08 21:19:40.094 Singular[19919] s:6212
Why??
Because you're trying to print an integer as uint64_t. Format using %
u instead of %qu and you'll probably get more meaningful results.
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden