代码之家  ›  专栏  ›  技术社区  ›  Dan Sandland

什么是“可用性”内部“iPhone”2,NS?尝试使用nsnumberFormatter,返回(空)

  •  0
  • Dan Sandland  · 技术社区  · 14 年前

    我在让nsnumberFormatter正常工作时遇到了一些问题。

    我正在用三个20框架在IOS4中编译。

    所有nsnumberFormatter选择器都需要一个名为ns_的东西,作为选择器上的第二个参数:

    [numberFormatter setCurrencyGroupingSeparator:(NSString *)string __AVAILABILITY_INTERNAL__IPHONE_2:(int)_0];
    

    我不知道我应该如何处理第二个参数。我试过了:

    [numberFormatter setCurrencyGroupingSeparator:@"," __AVAILABILITY_INTERNAL__IPHONE_2:2]; // Warning: NSNumberFormatter' may not respond to '-setCurrencyGroupingSeparator:__AVAILABILITY_INTERNAL__IPHONE_2:
    [numberFormatter setCurrencyGroupingSeparator:@"," __AVAILABILITY_INTERNAL__IPHONE_2:2_0]; //Error: invalid suffix "_0" on integer constant
    

    再重复几次。

    如果我没有指定可用的内部iPhone,它不会发出警告并编译良好,但是选择器文本是黑色的,而不是Xcode中的深紫色,就好像它无法识别一样。

    以下是完整的代码片段:

    NSNumberFormatter *numberFormatter = [[[NSNumberFormatter alloc] init] autorelease];
    [numberFormatter setCurrencyGroupingSeparator:@","];
    [numberFormatter setUsesGroupingSeparator:YES];
    [numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
    numberString = [NSString stringWithFormat: @"$%@",[numberFormatter stringFromNumber:myNsNumber]]; // myNsNumber is an NSNumber with a value of 10000000
    NSLog(@"numberString: %@",numberString); // numberString: (null) | instead of numberString: $10,000,000
    

    我已经搜索过谷歌 _可用性\内部\ iPhone \ 2 NSL可用 运气不好。

    搜索developer.apple.com只提供iOS 4.0 API差异。

    这是三个20的问题吗?有人知道这里发生了什么事吗?或者有什么可用的吗?

    1 回复  |  直到 14 年前
        1
  •  1
  •   coneybeare    14 年前

    忘记你在这篇文章中所拥有的一切吧。可用性资料让您知道方法包含在什么SDK中。

    这就是工作 NSNumberFormatter 代码。

    NSNumber *number = [UINumber numberWithInt:42];
    NSNumberFormatter *nf = [[NSNumberFormatter alloc] init];
    [nf setFormatterBehavior:NSNumberFormatterBehavior10_4];
    [nf setNumberStyle:NSNumberFormatterDecimalStyle];
    NSString *string = [nf stringFromNumber:number];
    [nf release];
    

    如果您有一个空字符串,那么这可能是因为您的nsnumber为空或nan,或者您的格式有问题。