IPhone Float to String问题

时间:2009-12-21 19:10:03

标签: iphone string sdk nsstring floating-point

如果不知道为什么会发生这种情况,我再也活不下去了。我有一个使用Corelocation的iPhone应用程序,这就是问题所在:

  

GPSLocation.m - 将浮动的长/纬坐标发送到类   UserSettings.m(这是一个单身人士   类)

_

  

UserSettings.m - 然后将值转换为来自a的预定义字符串   漂浮

     

e.g。 strLongitude = [NSString stringWithFormat:@“%f”,paramLong];

     

我可以找出字符串就好了NSLog(@“经度字符串是%@”,strLongitude);

     

关于strLongitude的一些注释

     
      
  1. 位于头文件
  2. 中   
  3. 属性定义为(非原子,   保留)
  4.   
  5. 合成
  6.   

现在问题: 当我在另一个类中需要这个变量时,我可以使用两种获取它的方法之一。通过getter [UserSettings getLongitude]或访问属性[UserSettings strLongitude]

然后当我跟踪这个字符串时,我有时会收到badaccess错误或随机垃圾。如果我将字符串描绘为浮点%F它就可以正常工作。

为什么会这样?字符串默认返回变量的原始数据类型。

任何帮助都将不胜感激。

3 个答案:

答案 0 :(得分:2)

可能需要保留strLongitude。

答案 1 :(得分:1)

听起来有些代码意外地使用float参数调用字符串setter。

答案 2 :(得分:1)

我意识到这不是直接回答你的问题,而是为什么将坐标存储在字符串中?

为什么不将它们存放为,漂浮?例如,

@interface UserSettings
{
    float longitude;
}

@property (nonatomic, assign) float longitude;

@end

此外,您的UserSettings类听起来非常类似于NSUserDefaults ...