首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSNumber崩溃程序

NSNumber崩溃程序
EN

Stack Overflow用户
提问于 2010-08-26 21:26:15
回答 1查看 126关注 0票数 1

嗨,

由于格式问题,我在我的iPhone应用程序中将浮点数转换为NSNumber。尽管它生成了正确的字符串,但它在释放对象后使程序崩溃。

我写了一个简单的程序作为Mac OS X的控制台应用程序,同样的问题也出现了。有人能建议如何解决这个问题吗?以下是代码示例。所有3条消息都会写入日志,在此EXEC_BAD_ACCESS错误发生后...

代码语言:javascript
复制
#import <Foundation/Foundation.h>

int main (int argc, const char * argv[])
{
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

    NSString *FormattedValueString = [[NSString alloc] init];
    NSString *FormattedValueString1 = [[NSString alloc] init];



    NSNumber *myNumber = [[NSNumber alloc] initWithDouble:100.345];
    NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init]; 
    [numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
    [numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle]; 

    FormattedValueString = [myNumber stringValue];
    FormattedValueString1 = [numberFormatter stringFromNumber:myNumber];

    NSLog(FormattedValueString);
    NSLog(FormattedValueString1);

    [FormattedValueString release];
    [FormattedValueString1 release];
    [numberFormatter release];
    [myNumber release];

    NSLog(@"Everything OK");

    [pool drain];
    return 0;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-26 21:37:34

FormattedValueStringFormattedValueString1都是自动发布的,因此不需要手动发布。并且您不需要在函数开始时分配/初始化这些值;进一步向下的赋值会覆盖这些值。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3575485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档