我一直有一些麻煩讓NSNumberFormatter正常工作。什麼是__AVAILABILITY_INTERNAL__IPHONE_2,NS_AVAILABLE?試圖使用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
我GOOGLE _AVAILABILITY_INTERNAL__IPHONE_2和NS_AVAILABLE沒有運氣。
搜索developer.apple.com只給我iOS 4.0的API區別。
這是Three20的問題嗎?有沒有人知道這裏發生了什麼或NS_AVAILABLE是關於什麼?
確定這確實奏效。出於某種原因,我不得不重新聲明我的NSNumber - > NSNumber * number = [NSNumber numberWithInt:[myNsNumber intValue]];謝謝。 – 2010-11-02 05:57:00