objective c - Xcode warning about precision -
objective c - Xcode warning about precision -
this question has reply here:
objective c implicit conversion loses integer precision 'nsuinteger' (aka 'unsigned long') 'int' warning 3 answershere code:
categoryloaded = [[nsuserdefaults standarduserdefaults] integerforkey:@"categorysaved"]; here error:
"implicit conversion loses integer precision: 'nsinteger' (aka 'long') 'int' how resolve this?
from sdk header:
#if __lp64__ || (target_os_embedded && !target_os_iphone) || target_os_win32 || ns_build_32_like_64 typedef long nsinteger; typedef unsigned long nsuinteger; #else typedef int nsinteger; typedef unsigned int nsuinteger; #endif so see, nsinteger, homecoming type integerforkey:, can either int or long, different sizes. you're building 64 bit, likely, means you're assigning long is, apparently, int.
so either alter type of categoryloaded big enough:
nsinteger categoryloaded; ...or utilize c-style cast says "shut know i'm doing":
categoryloaded = (int)[[nsuserdefaults standarduserdefaults] integerforkey:@"categorysaved"]; objective-c
Comments
Post a Comment