我收到一个警告:“对于这种方法,返回从没有强制转换的整数中生成指针”
+(BOOL *)getBoolFromString:(NSString *)boolStr
{
if(boolStr == @"true" || boolStr == @"1"){
return YES;
}
return NO;
}
答案 0 :(得分:8)
BOOL不是类或对象,因此返回指向BOOL的指针与返回BOOL不同。
你应该删除+(BOOL *)
中的*,一切都会好的。
答案 1 :(得分:8)
除了@Jasarien和@jlehr所说的,你有一个问题:
(boolStr == @"true" || boolStr == @"1")
这是指针比较,而不是对象相等。你想要:
([boolStr isEqualToString:@"true"] || [boolStr isEqualToString:@"1"])
答案 2 :(得分:6)
要从NSString获取BOOL,您需要做的就是发送-boolValue
消息,如下所示:
NSString *myString = @"true"; // or @"YES", etc.
BOOL bool = [myString boolValue];