我一直试图从/var/mobile/Library/Preferences/com.skylerk99.snappref.plist中提取值“tempF”来返回浮点值。
-(float) temperatureDegFahrenheit {
NSDictionary *pref = [[NSDictionary alloc]initWithContentsOfFile:@"/var/mobile/Library/Preferences/com.sky.snap.plist"];
NSString *tempF;
if( [[pref objectForKey:@"showF"] boolValue] ) {
return tempF;
}
else {
return %orig;
}
}
但我一直收到错误
cannot initialize return object of type 'float' with an lvalue of type 'NSString *'
return tempF;
实现这一目标的最佳方法是什么,因为我显然不知道?
答案 0 :(得分:2)
<强>更新强>
根据下面的讨论,让我们假设温度是通过名为temperatureTextField的UITextField
输入的。您可以像这样得到输入温度的浮点值:
[[temperatureTextField.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] floatValue];
该函数希望您返回float
,但tempF是NSString *
。
要从float
解析NSString
值,请尝试此操作(顺便说一下,我假设您没有显示所有代码,否则您的tempF从未被分配):
[tempF floatValue];