//
// main.m
// NSNumber
//
// Created by rayln on 13-9-7.
// Copyright (c) 2013年 rayln. All rights reserved.
//
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
//NSNumber是包装基本类型
NSNumber *number = [NSNumber numberWithInt:10];
NSMutableArray *arr = [NSMutableArray array];
[arr addObject:number];
//NSNumber不支持自动解饱,需要自己解包
NSNumber *lastnumber = [arr lastObject];
//由NSNumber转成int
int numb = [lastnumber intValue];
NSLog(@"%i", numb);
//比较number是否相等
[number isEqualToNumber:lastnumber];
}
return 0;
}
分享到:
相关推荐
本篇文章将深入探讨`NSNumber`的使用方法及其在iPhone开发中的应用。 首先,我们了解`NSNumber`的基本概念。`NSNumber`是Foundation框架的一部分,它是Objective-C对C语言中原始数据类型的一种包装。在OC中,原始...
下面是一些NSNumber的常用方法: 1. 创建NSNumber对象: - `+ (NSNumber *)numberWithInt:(int)value;` 用于创建一个包含整型值的NSNumber对象。 - `+ (NSNumber *)numberWithDouble:(double)value;` 创建包含双...
优先队列的使用 self.priQueue = [[CKPriorityQueue alloc] initWithCompareBlock:^BOOL(id obj1, id obj2) { int b1 = [(NSNumber *)obj1 intValue]; int b2 = [(NSNumber *)obj2 intValue]; return b1 > b2 ? ...
例如,我们可以定义一个名为 `roundedNumber` 的方法,这个方法会返回一个根据指定精度进行四舍五入后的 NSNumber 对象。 ```objc @interface NSNumber (Rounding) - (NSNumber *)roundedNumberWithPrecision:...
在Objective-C中,我们通常不直接使用静态方法,而是通过分类(Category)或单例(Singleton)来实现类似的功能。以下是一个简单的Objective-C实现简单工厂模式的例子: 首先,我们需要定义一个协议,例如`...
通过以上方法,可以有效地处理iOS开发中JSON解析时遇到的`null`、`nil`和`NSNumber`问题,确保应用的稳定性和安全性。在实际开发中,选择最适合项目需求的解决方案,并保持代码的可读性和可维护性。
本教程将深入探讨如何使用类方法来实现基本的数学运算,如加法、减法、乘法和除法。这些操作对于日常编程任务来说是至关重要的,尤其是在处理数字计算或数据操作时。 首先,我们需要创建一个名为`MathOperation`的...
这个方法是`NSNumberFormatter` 的核心,它接受一个`NSNumber` 对象和一个`NSNumberFormatterStyle` 枚举值作为参数,返回一个格式化后的字符串。例如: - `NSNumberFormatterNoStyle`:将数字转换为不带任何格式...
可以封装字符数据,使用`initWithChar:`方法创建`NSNumber`对象。 #### 3.3 单精度型对象 `NSNumber`支持单精度浮点数`float`,使用`initWithFloat:`初始化。 #### 3.4 双精度型对象 对于需要更高精度的浮点数,`...
- **2.1.10 numberWithUnsignedLongLong:**:此方法用于创建一个表示无符号长整型(unsigned long long)数值的`NSNumber`对象。 - **2.1.11 initWithShort:**:此方法用于初始化一个表示短整型(short)数值的`...
在这个例子中,`createCalculatorForOperation:`方法根据传入的操作类型返回一个计算Block,这个Block可以接受两个`NSNumber`参数并返回结果。 Block在内存管理方面也有特殊之处。由于Block会捕获并保存其作用域内...
本文将深入探讨Block的基础用法及其在实际项目中的应用。 ### 1. Block的基础概念 Block是Objective-C的一个扩展,它允许我们在程序中定义匿名函数,即没有名字的函数。Block本质上是一个对象,它可以捕获并存储在...