如果不知道为什么会发生这种情况,我再也活不下去了。我有一个使用Corelocation的iPhone应用程序,这就是问题所在:
GPSLocation.m - 将浮动的长/纬坐标发送到类 UserSettings.m(这是一个单身人士 类)
_
UserSettings.m - 然后将值转换为来自a的预定义字符串 漂浮
e.g。 strLongitude = [NSString stringWithFormat:@“%f”,paramLong];
我可以找出字符串就好了NSLog(@“经度字符串是%@”,strLongitude);
关于strLongitude的一些注释
- 位于头文件
中- 属性定义为(非原子, 保留)
- 合成
醇>
现在问题: 当我在另一个类中需要这个变量时,我可以使用两种获取它的方法之一。通过getter [UserSettings getLongitude]或访问属性[UserSettings strLongitude]
然后当我跟踪这个字符串时,我有时会收到badaccess错误或随机垃圾。如果我将字符串描绘为浮点%F它就可以正常工作。
为什么会这样?字符串默认返回变量的原始数据类型。
任何帮助都将不胜感激。
答案 0 :(得分:2)
可能需要保留strLongitude。
答案 1 :(得分:1)
听起来有些代码意外地使用float参数调用字符串setter。
答案 2 :(得分:1)
我意识到这不是直接回答你的问题,而是为什么将坐标存储在字符串中?
为什么不将它们存放为,漂浮?例如,
@interface UserSettings
{
float longitude;
}
@property (nonatomic, assign) float longitude;
@end
此外,您的UserSettings类听起来非常类似于NSUserDefaults ...