簡體   English   中英

什么是__AVAILABILITY_INTERNAL__IPHONE_2,NS_AVAILABLE? 嘗試使用NSNumberFormatter,返回(空)

[英]What is __AVAILABILITY_INTERNAL__IPHONE_2, NS_AVAILABLE ? Trying to use NSNumberFormatter, returns (null)

我在讓NSNumberFormatter正常工作時遇到了一些麻煩。

我正在使用Three20框架在iOS4中進行編譯。

所有NSNumberFormatter選擇器都需要一個稱為NS_AVAILABLE的東西作為選擇器上的第二個參數:

[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

以及更多的迭代。

如果我未指定__AVAILABLE_INTERNAL__IPHONE_2,則不會發出警告並且可以正常編譯,但是選擇器文本為黑色,在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

我已經用_AVAILABILITY_INTERNAL__IPHONE_2NS_AVAILABLE進行了Google 搜索沒有運氣。

搜索developer.apple.com只會給我iOS 4.0 API差異。

這是Three20的問題嗎? 有人知道這是怎么回事或NS_AVAILABLE是什么嗎?

到目前為止,您幾乎忘掉了本文中的所有內容。 可用性方面的內容可讓您知道這些方法所包含的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為null或NaN,或者是您的格式搞砸了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM