jjzjj

NSNumber

全部标签

objective-c - NSNumber 与 NSInteger 与 NSObject 属性的 int

我们的iOS中有一个带有id属性的模型。这是我们当前使用的(顺便说一句,这是iOS5)。@property(nonatomic,assign)intuserID;到目前为止似乎工作正常。我想知道这是否会导致任何问题。示例:我理解这意味着ID属性本身无法存储到plist中。但是,这是NSObject的属性。如果我们将任何内容存储到文件/核心数据/nsuserdefaults/无论什么,它可能是整个对象而不仅仅是这个属性。我想我的问题是......我们将其存储为int而不是NSNumber是否会给自己带来任何问题?其次,将其存储为NSInteger有什么区别。我知道这只是long或int的

iphone - 将 NSString 转换为特定于语言环境的 NSNumber

我正在使用KeyboardType=UIKeyboardTypeDecimalPad,在某些手机上,您会在左下方看到一个“,”而不是“.”。这取决于手机的语言设置!与“。”当我使用[NSNumbernumberWithFloat:[textField.textfloatValue]]时,版本一切正常,但对于“,”版本,它表示2.0表示2,5。有人知道解决方法吗? 最佳答案 您需要进行本地感知字符串转换,根据默认语言环境正确处理“2.5”和“2,5”。尝试:NSNumber*num=[NSDecimalNumberdecimalNum

ios - NSNumber 会自动转换字符串吗?

在创建SKStoreProductViewController时,我传递了一个带有商店标识符参数的字典。:@{SKStoreProductParameterITunesItemIdentifier:@010101010};这个值应该是一个NSNumber(如上所示):ThevalueassociatedwiththiskeyisaninstanceofNSNumber,representingtheiTunesidentifierfortheitemyouwantthestoretodisplaywhentheviewcontrollerispresented.但是当我将值作为字符串传

ios - 从 NSDictionary : NSNumber vs NSString 存储和检索 int64_t

我正在开发一款具有GameCenter功能的游戏。在内部,我的游戏将所有分数保存在int64_t类型的变量中,因为这是通过GameKitAPI报告分数所需的类型(我假设这是为了避免32之间的歧义位和64位平台)。到目前为止,还不错。接下来,我希望在没有经过身份验证的GameCenter播放器时将用户的hiscore存储在本地(例如,在NSUserDefaults中。但是.plist是等效的),并通过iCloud同步它键值与用户拥有的其他设备。我可以像这样存储int64_thiscore://(int64_t)_hiscoreisanivar.//(NSString)_playerIDi

ios - Objective-C - 何时使用 NSNumber 与 Primitive

如果你知道某个Integer在其生命周期中至少有一个时间点需要被用作对象,是否应该从一开始就将其声明为NSNumber并使用?我知道应该使用原始数据类型进行计算,所以你说[NSNumbernumberWithInteger:myInt]。但是,如果90%的时间你只需要一种基本数据类型,那么其他10%的时间是否有理由创建一个NSNumber并不断使用[NSNumberintValue]来检索你的原语?尽可能长时间地坚持使用原语是否有明显的性能优势,或者NSNumber的OO优势是否超过这些优势?作为ObjectiveC的新手,我也很好奇最佳实践是什么——来自Ruby和PHP等不会出现这种

iphone - Objective-C:NSNumber 的单词

我想将单词转换成数字,例如NinetyNineto99Secondto2nd和Twoto2等有人知道怎么做吗? 最佳答案 Apple没有用于此类目的的API。即使只是针对一种语言,词典编纂分析也很难。用单词表示数字可能相对简单,但从单词到数字需要处理许多特殊情况。蛮力方法是建立一个包含所有各种可能组合的数据库。更聪明的方法可能是分析单个单词并推断其可能表示的数字。 关于iphone-Objective-C:NSNumber的单词,我们在StackOverflow上找到一个类似的问题:

ios - 将 NSNumber 转换为 NSString 问题

我知道这是一个已经被问过一千次的问题,但是在我尝试过的几个已发布示例中,我仍然遇到了问题。现在我正在尝试在我的调试日志中显示一个对象的值,该对象保存我需要的数据作为NSNumber。我正在尝试的是以下代码行:NSString*distanceString=[NSStringstringWithFormat:@"%d",(NSNumber)self.selectedBeacon.distance];但是,使用上面的方法我得到以下错误:Usedtype'NSNumber'wherearithmeticorpointertypeisrequired然后我尝试了以下方法:NSString*di

iphone - 将 NSNumber 转换为 BOOL Objective-C

我想将整数0和1转换为BOOLEANYES和NO我的代码:NSNumber*num=0;BOOLmyBool=[numboolValue];NSLog(@"boolis:%@",myBool);输出为(null)有什么问题吗? 最佳答案 首先,你的NSNumber的初始化是不正确的。您应该使用定义在NSNumber:上的+numberWith:类方法之一+(NSNumber*)numberWithChar:(char)value;+(NSNumber*)numberWithUnsignedChar:(unsignedchar)val

ios - NSDate 变成 NSNumber MYSTERY

我在使用自动引用计数的iOS4.3和iOS5中工作。我在我的界面中声明了一个NSDate对象:NSDate*fingerprintsDate;稍后,我设置了NSDate-使用调试器并逐步执行它具有我期望的值:fingerprintsDate=[NSDatedate];最后,我尝试从日期中获取时间:if(fingerprintsDate==nil||[fingerprintsDatetimeIntervalSinceNow]>6)这就是它因无法识别的选择器而崩溃的地方:“2012-01-1823:07:46.662Netapporter[473:707]-[NSCFNumbertimeI

ios - 将 'NSNumber *__strong' 发送到不兼容类型 'CLLocationDegrees' 的参数(又名 'double' )

NSNumber*latitude=[NSNumbernumberWithDouble:[[cityDictionaryvalueForKeyPath:@"coordinates.latitude"]doubleValue]];NSNumber*longitude=[NSNumbernumberWithDouble:[[cityDictionaryvalueForKeyPath:@"coordinates.longitude"]doubleValue]];CLLocation*listingLocation=[[CLLocationalloc]initWithLatitude:lati