이것은 가장 간단한 것이지만 정확한 원인을 찾을 수 없습니다. 대신 다음과 같은 말로 설명하는 것은 내 코드입니다 :NSString이 NULL 인 경우 NSInteger가 0을 반환합니다.
NSString *str = @"";
NSInteger tempInteger = [str integerValue];
if (tempInteger == 0)
{
NSLog (@"do something");
}
NSInteger
는 0을 반환하고 NSString
일부 값이있는 경우 다음 NSInteger
같은 값을 반환 한 후 NULL
을 반환 NSString
합니다.
그러나 NSString
이 NULL
때 그때 NULL
하지 0을 반환해야 NSInteger
를 원하지만 내가 NULL
로 NSInteger
을 유효성 검사 할 수 없습니다입니다.
NSString
이 NULL이면 값을 NSInteger
에 어떻게 얻을 수 있습니까?
'id number = str? [NSNumber numberWithInteger : [str integerValue]] : [NSNull null]; ' – Joe