NSNumber

#import <Foundation/Foundation.h>

void number(){
    NSNumber *numberint=[NSNumber numberWithInt:10];
    NSNumber *numberchar=[NSNumber numberWithChar:'a'];
    NSMutableArray *array=[NSMutableArray arrayWithObject:numberint];
    [array addObject:numberchar];
    NSLog(@"%@",array);
    //取出来还是一个NSNumber对象,不支持自动解包
    NSNumber * num=[array lastObject];
    //将NSNumber类型转化成char类型
    char nu=[num charValue];
    NSLog(@"%c",nu);
}

int main(int argc, const char * argv[])
{

    @autoreleasepool {

        //在NSArray和NSDictionary中不可以向其中塞基本数据类型,但我们可以将基本数据类型转化成NSNumber再塞给数组或者字典
        number();

    }
    return 0;
}
时间: 2024-09-20 00:50:44

NSNumber的相关文章

Objective-C中关于NSArray, NSDictionary, NSNumber等写法的进化

从xcode4.4开始,LLVM4.0编译器为Objective-C添加一些新的特性.创建数组NSArray,哈希表NSDictionary, 数值 对象NSNumber时,可以像NSString的初始化一样简单方便.妈妈再也不担心程序写得手发酸了. 有兴趣的朋友可以关注LLVM编译器的相关文档:http://clang.llvm.org/docs/ObjectiveCLiterals.html 关于NSDictionary和NSNumber的例子来自:http://cocoaheads.tum

iOS开发int,NSInteger,NSUInteger,NSNumber的使用

 1.当需要使用int类型的变量的时候,可以像写C的程序一样,用int,也可以用NSInteger,但更推荐使用NSInteger,因为这样就不用考虑设备是32位的还是64位的. 2.NSUInteger是无符号的,即没有负数,NSInteger是有符号的. 3.有人说既然都有了NSInteger等这些基础类型了为什么还要有NSNumber?它们的功能当然是不同的. NSInteger是基础类型,但是NSNumber是一个类.如果想要存储一个数值,直接用NSInteger是不行的,比如在一个Ar

[翻译] 用 ObjectiveSugar 扩展NSArray NSDictionary NSSet NSNumber

     source - https://github.com/supermarin/ObjectiveSugar Look like a girl, act like a lady, think like a man, work like a boss. 外表如萝莉,举止赛淑女,思想堪汉子,工作比老板.      A set of functional additions for Foundation you wish you've had at the first place.      

ios-检测NSNumber后面的数字是不是.00

问题描述 检测NSNumber后面的数字是不是.00 用到一个方法,创建NSNumber数字类似钱形式的. + (NSString *)formatShortPayment: (NSNumber *)payment { if (![payment isEqual: [NSNull null]]) { NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@""en_GB""]; NSNumberF

NSNumber数字、NSString字符串

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 //数字对象的创建与使用 //main.m #import<Foundation/Foundation.h> int main(int argc, const char argv[]) {     @autoreleasepool{         //创建一个NSNumber"数字对象"         NSNumber *monthN

ios-objective-c中NSNumber问题

问题描述 objective-c中NSNumber问题 爆出错误: Incompatible pointer types assigning to 'UITextfield *_strong' from 'NSNumber *_strong 代码: .h文件 @property (weak nonatomic) IBOutlet UITextField *initialBudget;@property (weak nonatomic) IBOutlet UITextField *expenses

ios-报错:&amp;amp;#39;NSNumber&amp;amp;#39; declares the selector initwithInt&amp;amp;#39;

问题描述 报错:'NSNumber' declares the selector initwithInt' 做了一个不同类别的测试应用.代码运行后报错: No visible @interfacefor 'NSNumber' declares the selector initwithInt.' 代码: -(IBAction)Category1:(id)sender{ Category1.hidden = YES; Category2.hidden = YES; Question.hidden

objective c-AppDelegat的NSNumber 比较不对

问题描述 AppDelegat的NSNumber 比较不对 在AppDelegate中的NSNumber,有numberWithBool:TRUE 和ViewController进行比较. 问题来了,ViewController不能辨识NSNumber设置为1.通过调试程序知道NSNumber已经设置为1了. if([appDelegate.gotUrl isEqualToNumber:[NSNumber numberWithBool:TRUE]]){ } 谢谢帮忙. 解决方案 if([appD

C语言中NSInteger,NSNumber以及Int的区别

NSInteger和NSNumber   首先:NSInteger,NSNumber并没有什么关系,更不要想当然的以为二者还有什么继承关系,甚至还有人问NSInteger是不是NSNumber的子类?答案当然是NO!!!NSInteger只是一个基本的数据类型,而NSNumber是OC的对象,并且NSNumber继承自NSValue,NSValue又继承自NSObject. 既然 NSInteger是基本类型,那么,使用起来就非常简单. 声明一个变量, NSInteger myInt: 直接赋值