Tag: nsnumber

每5秒增加一个NSNumber – Cocos2d

我试图在Cocos2d中每5秒增加1个NSNumber ,但由于某种原因,它不工作(可能是明显的错误)。 我正在使用更新方法,但我认为这可能是错误的地方。 目前它只添加+1次。 我需要它每隔5秒不断地做这个: -(void) update: (CCTime) delta { // Save a string: NSNumber *anInt = [NSNumber numberWithInt:500]; NSNumber *bNumber = [NSNumber numberWithInt:[anInt intValue] + 1]; NSLog(@"Update Number%@",bNumber); }

在Swift中将CGFloat转换为NSNumber

我在Swift中有一个扩展,它包含了CGFloat的一些属性。 问题是,我不知道如何使用关联的对象将商店的CGFloat值作为NSNumber 这里是我没有工作,但它详细说明了我想要做的代码: var scaledFontSize: CGFloat { get { guard let fontSize = objc_getAssociatedObject(self, &AssociatedKeys.scaledFontSize) as? NSNumber else { //Set it let scaledFont:CGFloat = VGSizeValues.getValueFromValue(self.font.pointSize); //Fails here objc_setAssociatedObject(self,&AssociatedKeys.scaledFontSize, NSNumber( scaledFont),objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC) return scaledFont; } return CGFloat(fontSize.doubleValue); } } 有没有人可以解决这个问题?

如何只显示与NSNumberFormatter的前两位数字?

我有一个例子1329094的数字。我只想得到我所看到的前两位数字13 我创buildNSNumberFormatter像 func setReceivedChart(description: [String], value: [Double]) { var descriptionString: String! var formatterNumber: NSNumber! var chartDataEntryArray = [ChartDataEntry]() for item in 0..<description.count { let chartEntry = ChartDataEntry(value: value[item], xIndex: item) chartDataEntryArray.append(chartEntry) descriptionString = description[item] formatterNumber = value[item] } let dataSet = LineChartDataSet(yVals: chartDataEntryArray, label: "") dataSet.drawCircleHoleEnabled = false dataSet.drawCirclesEnabled = true // change dataSet.drawCubicEnabled = […]

核心数据,NSNumber,整数32和整数64

在核心数据中,我有许多属性声明为整数64,然后通过NSNumber属性(这是默认情况下)访问。 如果我通过以下方式存储和访问这些值,是否重要? NSNumber *mySetValue = [NSNumber numberWithInt:someIntValue]; [myObject setMyNumberProperty:mySetValue]; int myRetrievedValue = [myObject.myNumberProperty intValue]; 或通过 NSNumber *mySetValue = [NSNumber numberWithInteger:someIntegerValue]; [myObject setMyNumberProperty:mySetValue]; NSInteger myRetrievedValue = [myObject.myNumberProperty integerValue]; ? 有两种情况我想知道答案:1)如果所需的价值是用于计算(它拥有一个数量或价值将被转换为货币),2)如果该值只是一种types基本上只会与自己比较,不会用于任何计算。 在一种情况下使用numberWithInt和intValue而不是两种情况下,还是在两种情况下都必须使用numberWithInteger和integerValue? 另外,如果我以前已经将所有的值存储为[NSNumber numberWithInt:] – 我可以简单地改变我现在存储/检索值的方式,还是我需要保持一致性,以免造成问题当前用户数据? 我特别感兴趣的是在32位和64位的iOS应用程序中工作。 另外 – 如果核心数据值是整数32,整数16,整数64等,它是否有所不同?

iOS – 为什么当我比较两个NSNumbers与“==”?

在我的应用程序中,当比较两个NSNumber对象时,我不小心使用了“==”: NSNumber *number1; NSNumber *number2; 后来,这些对象的int值被设置后,我不小心做到了这一点: if (number1 == number2) { NSLog(@"THEY'RE EQUAL"); } 而且,令人困惑的是,它的工作! 我可以发誓我被教导这样做: if (number1.intValue == number2.intValue) { NSLog(@"THEY'RE EQUAL"); } 两个NSNumber对象之间如何使用“==”,为什么? 这是不是意味着可以这样比较呢,还是只是一种侥幸呢,一般不保证每次都能工作? 这真的让我困惑:(

在Swift 3中使用NSNumber&Integer值

我试图将我的项目转换为Swift 3.0,但我有两个错误消息时使用NSNumber和Integers 。 不能指定typesint来键入NSNumber 对于 //item is a NSManaged object with a property called index of type NSNumber var currentIndex = 0 for item in self.selectedObject.arrayOfItems { item.index = currentIndex currentIndex += 1 } 甚至当我将currentIndex更改为NSNumbertypes,那么我得到的错误 二元运算符“+ =”不能用于input“NSNumber”和“Int” 所以然后我创build一个名为NSNumbertypes的属性添加到currentIndex但是,然后得到以下错误; 二元运算符'+ ='不能应用于两个NSNumber操作数 &第二个错误我得到的是 没有“+”候选产生预期的上下文结果typesNSNumber let num: Int = 210 let num2: Int = item.points.intValue item.points = num […]

NSNumber vs Int

如果整数不能写入字典,然后到.plist,但NSNumbers可以更好地使用NSNumbers整个应用程序,而不是需要转换每次保存或从.plist中加载字典?

什么是iOS 4.1中的类NSCFNumber?

在iOS 4.1上成功从iPhone摄像头获取图片后,可以使用该button @"UIImagePickerControllerMediaMetadata" 返回关于图片的信息。 该字典中的一个关键字是 @"Orientation" 从我的实验中,肖像和颠倒分别是6和8,风景是1和3.看看这个代码: – (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { NSDictionary *metaData = [info objectForKey:@"UIImagePickerControllerMediaMetadata"]; id orientation = [metaData objectForKey:@"Orientation"]; NSLog(@"Class: %@",[orientation class]); NSLog说“类:NSCFNumber” 我需要比较这个对象的值来决定如何继续。 景观是1或3,人像是6或8.我不知道要input方向或者要调用什么。 NSNumber和NSInteger总是告诉我,我是从没有强制转换的指针进行整数。 谢谢你的时间!

如何确定一个NSNumber的真正的数据types?

考虑这个代码: NSNumber* interchangeId = dict[@"interchangeMarkerLogId"]; long long llValue = [interchangeId longLongValue]; double dValue = [interchangeId doubleValue]; NSNumber* doubleId = [NSNumber numberWithDouble:dValue]; long long llDouble = [doubleId longLongValue]; if (llValue > 1000000) { NSLog(@"Have Marker iD = %@, interchangeId = %@, long long value = %lld, doubleNumber = %@, doubleAsLL = %lld, CType = %s, longlong […]