`

NSNumber

 
阅读更多
NSNumber
+ (NSNumber *)numberWithInt:(int)value;
+ (NSNumber *)numberWithDouble:(double)value;
- (int)intValue;
- (double)doubleValue;

NSNumber可以将基本数据类型包装起来,形成一个对象,这样就可以给其发送消息,装入NSArray中等等。
NSNumber * intNumber=[NSNumber numberWithInt:100];
NSNumber *floatNumber=[NSNUmber numberWithFloat:100.00];
int i=[intNumber intValue];
if([intNumber isEqualToNumber:floatNumber]) ....
NSNumber继承NSObject ,可以使用比较 compare: isEqual等消息


int main (int argc, constchar * argv[]) {

    NSAutoreleasePool * pool = [[NSAutoreleasePoolalloc] init];

    NSNumber* intNumber;

    NSNumber* floatNumber;


    intNumber = [NSNumbernumberWithInt:100];

    floatNumber = [NSNumbernumberWithFloat:99.9];


    NSInteger myInt;

    myInt = [intNumber integerValue];

    NSLog(@"myInt = %li", myInt);



    [pool drain];

    return0;

}

一般来说,无需担心需要释放Foundation方法返回的对象。有时候,对象由返回它的方法所有。其他情况下,对象是由方法新创建的并被添加到自动释放池里。使用完由alloc方法显式创建的对象(包括Foundation对象)之后,需要释放它们。

如上例中,无需对intNumber,floatNumber调用release释放内存。

但如果采用intNumber = [NSNumber alloc] initWithInt:100]; 创建,在使用完后,需要使用[intNumber Release];来释放它。

另外,NSInteger并不是一个类,使用使用typedeflong NSInteger;定义的。
分享到:
评论

相关推荐

    iphone 开发学习基础NSNumber

    `NSNumber`是OC中的一个基础类,它被用来封装各种基本类型的值,包括整型、浮点型、BOOL类型以及枚举等。本篇文章将深入探讨`NSNumber`的使用方法及其在iPhone开发中的应用。 首先,我们了解`NSNumber`的基本概念。...

    Objective-C中NSNumber与NSDictionary的用法简介

    在Objective-C中,NSNumber和NSDictionary是两个非常重要的基础类,它们在编程中扮演着不可或缺的角色。即使随着Swift的兴起,Objective-C仍然是许多现有项目和开发者的主要工具,因此了解这两个类的用法至关重要。 ...

    NSNumber-Helper:扩展标准Foundation类功能的NSNumber的总称

    NSNumber-Helper NSNumber的一个扩展名,它扩展了标准Foundation类的功能。 验证方法 + ( BOOL )isInteger:( NSNumber *)number; + ( BOOL )isDouble:( NSNumber *)number; ##操作方法 - ( NSString *)...

    iOS中json解析出现的null,nil,NSNumber的解决办法

    然而,处理JSON数据时可能会遇到一些问题,比如解析出的`null`、`nil`以及`NSNumber`类型的困惑。这里我们将深入探讨如何解决这些问题。 1. **问题现象** 当服务器返回的JSON数据中某个字段值为`null`时,使用如...

    ios-四舍五入.zip

    在iOS开发中, NSNumber 是Objective-C中的一个基础数据类型,用于封装整型、浮点型等基本数值。在处理数字时,我们有时需要对数字进行四舍五入操作,以达到特定的精度要求。"ios-四舍五入.zip"这个压缩包文件很可能...

    Objective C简单工厂模式设计源码

    - (NSNumber *)add:(NSNumber *)num1 with:(NSNumber *)num2; - (NSNumber *)subtract:(NSNumber *)num1 from:(NSNumber *)num2; @end ``` 接下来,我们可以创建两个实现了此协议的类,比如`SimpleCalculator`和`...

    用 oc 封装的栈,队列,优先队列,使用方法在 ViewController.m 中

    int b1 = [(NSNumber *)obj1 intValue]; int b2 = [(NSNumber *)obj2 intValue]; return b1 > b2 ? true : false; // b1 > b2 返回 true 表示升序 }]; for (int i=0; i; i++) { int x = arc4random() % 100; ...

    objective-c 函数速查手册

    - **2.1.10 numberWithUnsignedLongLong:**:此方法用于创建一个表示无符号长整型(unsigned long long)数值的`NSNumber`对象。 - **2.1.11 initWithShort:**:此方法用于初始化一个表示短整型(short)数值的`...

    OC函数大全

    `NSNumber`类提供了一系列通用的方法,如比较(`isEqualToNumber:`), 类型转换(`intValue`, `doubleValue`),以及数学运算(`addObject:`)等,使得处理数字对象更加方便。 本手册旨在覆盖所有Objective-C中涉及的数学...

    block参数,属性,返回值

    - (NSNumber *(^)(NSNumber *))createCalculatorForOperation:(NSString *)operation { switch (operation) { case @"add": return ^(NSNumber *num1, NSNumber *num2) { return @(num1.doubleValue + num2....

    UIView+AZGradient.zip

    + (UIView *_Nullable)az_gradientViewWithColors:(NSArray*> *_Nullable)colors locations:(NSArray<NSNumber *> *_Nullable)locations startPoint:(CGPoint)startPoint endPoint:(CGPoint)endPoint; - (void)az_...

    SecureMappingKit.zip

    NSBooleanNumberTransformer, to be sure to have a NSNumber of a boolean NSStringTransformer, NSURLTransformer, NSArrayTransformer, NSDateTransformer, NSDecimalTransformer 使用: - (id)...

    【无限互联】iOS开发视频教程课件第四章Foundation框架课件

    NSNumber *intNumber = [NSNumber numberWithInt:number]; BOOL isBool = YES; NSNumber *boolNumber = [NSNumber numberWithBool:isBool]; ``` 2. **数字对象的转换** - 数字对象可以通过`NSNumber`类提供的...

    iOS中NSNumberFormatter的介绍与用法

    在iOS开发中,`NSNumberFormatter` 是一个非常重要的类,用于处理数字(`NSNumber`)与字符串(`NSString`)之间的转换。它提供了多种样式,能够根据不同的需求将数字格式化为各种形式,如整数、货币、百分比、科学...

    [iOS核心动画]关于CAShapeLayer的使用(画虚线和镂空效果)

    例如,[NSNumber numberWithFloat:3.0], [NSNumber numberWithFloat:3.0]将创建一个每隔3像素实线,再空3像素的虚线。 镂空效果,即在形状中挖空一部分,通常用于创建视差效果或自定义视图的边框。在CAShapeLayer中...

    block回调 基础的看看

    NSNumber *(*addNumbers)(NSNumber *, NSNumber *) = ^(NSNumber *num1, NSNumber *num2) { return @(num1.doubleValue + num2.doubleValue); }; ``` 这个Block接受两个`NSNumber`参数并返回它们的和。 ### 6. ...

    foundation框架的学习介绍

    `NSNumber`类用于将基本数据类型(如整型、浮点型)包装成对象,这样就可以将这些值作为对象传递给方法或存储在集合中。例如,你可以创建一个`NSNumber`对象来存储一个整数值,然后将其添加到`NSArray`或`...

    ios-IOS JS与OC互相调用(JavaScriptCore).zip

    - (NSNumber *)addNumbers:(NSNumber *)a and:(NSNumber *)b; @end @implementation Bridge - (NSString *)sayHello:(NSString *)name { return [NSString stringWithFormat:@"Hello, %@", name]; } - ...

    ios 在一定范围随机选取demo

    这样,你就可以方便地在代码中调用`[NSNumber randomNumberInRange:1 maxValue:10]`来获取1到10之间的随机整数。 在描述中提到了博客链接,通常那里会有更多关于这个demo的详细信息,包括具体的代码实现和截图。...

Global site tag (gtag.js) - Google Analytics