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;定义的。
分享到:
相关推荐
`NSNumber`是OC中的一个基础类,它被用来封装各种基本类型的值,包括整型、浮点型、BOOL类型以及枚举等。本篇文章将深入探讨`NSNumber`的使用方法及其在iPhone开发中的应用。 首先,我们了解`NSNumber`的基本概念。...
在Objective-C中,NSNumber和NSDictionary是两个非常重要的基础类,它们在编程中扮演着不可或缺的角色。即使随着Swift的兴起,Objective-C仍然是许多现有项目和开发者的主要工具,因此了解这两个类的用法至关重要。 ...
然而,处理JSON数据时可能会遇到一些问题,比如解析出的`null`、`nil`以及`NSNumber`类型的困惑。这里我们将深入探讨如何解决这些问题。 1. **问题现象** 当服务器返回的JSON数据中某个字段值为`null`时,使用如...
NSNumber-Helper NSNumber的一个扩展名,它扩展了标准Foundation类的功能。 验证方法 + ( BOOL )isInteger:( NSNumber *)number; + ( BOOL )isDouble:( NSNumber *)number; ##操作方法 - ( NSString *)...
在iOS开发中, NSNumber 是Objective-C中的一个基础数据类型,用于封装整型、浮点型等基本数值。在处理数字时,我们有时需要对数字进行四舍五入操作,以达到特定的精度要求。"ios-四舍五入.zip"这个压缩包文件很可能...
- (NSNumber *)add:(NSNumber *)num1 with:(NSNumber *)num2; - (NSNumber *)subtract:(NSNumber *)num1 from:(NSNumber *)num2; @end ``` 接下来,我们可以创建两个实现了此协议的类,比如`SimpleCalculator`和`...
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; ...
- **2.1.10 numberWithUnsignedLongLong:**:此方法用于创建一个表示无符号长整型(unsigned long long)数值的`NSNumber`对象。 - **2.1.11 initWithShort:**:此方法用于初始化一个表示短整型(short)数值的`...
`NSNumber`类提供了一系列通用的方法,如比较(`isEqualToNumber:`), 类型转换(`intValue`, `doubleValue`),以及数学运算(`addObject:`)等,使得处理数字对象更加方便。 本手册旨在覆盖所有Objective-C中涉及的数学...
- (NSNumber *(^)(NSNumber *))createCalculatorForOperation:(NSString *)operation { switch (operation) { case @"add": return ^(NSNumber *num1, NSNumber *num2) { return @(num1.doubleValue + num2....
+ (UIView *_Nullable)az_gradientViewWithColors:(NSArray*> *_Nullable)colors locations:(NSArray<NSNumber *> *_Nullable)locations startPoint:(CGPoint)startPoint endPoint:(CGPoint)endPoint; - (void)az_...
NSBooleanNumberTransformer, to be sure to have a NSNumber of a boolean NSStringTransformer, NSURLTransformer, NSArrayTransformer, NSDateTransformer, NSDecimalTransformer 使用: - (id)...
在iOS开发中,`NSNumberFormatter` 是一个非常重要的类,用于处理数字(`NSNumber`)与字符串(`NSString`)之间的转换。它提供了多种样式,能够根据不同的需求将数字格式化为各种形式,如整数、货币、百分比、科学...
例如,[NSNumber numberWithFloat:3.0], [NSNumber numberWithFloat:3.0]将创建一个每隔3像素实线,再空3像素的虚线。 镂空效果,即在形状中挖空一部分,通常用于创建视差效果或自定义视图的边框。在CAShapeLayer中...
NSNumber *(*addNumbers)(NSNumber *, NSNumber *) = ^(NSNumber *num1, NSNumber *num2) { return @(num1.doubleValue + num2.doubleValue); }; ``` 这个Block接受两个`NSNumber`参数并返回它们的和。 ### 6. ...
- (NSNumber *)addNumbers:(NSNumber *)a and:(NSNumber *)b; @end @implementation Bridge - (NSString *)sayHello:(NSString *)name { return [NSString stringWithFormat:@"Hello, %@", name]; } - ...
这样,你就可以方便地在代码中调用`[NSNumber randomNumberInRange:1 maxValue:10]`来获取1到10之间的随机整数。 在描述中提到了博客链接,通常那里会有更多关于这个demo的详细信息,包括具体的代码实现和截图。...