NSNumber与NSValue

本文介绍如何使用 NSNumber 和 NSValue 在 Objective-C 中将基本数据类型和结构体数据封装为对象,并提供解封装的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



NSNumber是用来把基本数据类型封装为对象

            使用 (numberWith基本数据类型这个方法原型,来对基本数据类型进行封装成NSNumber对象

                基本数据类型

                    int

                    float

                    double

                    NSUIngeter

                    NSIngeter

                    ......

            使用 (数据类型Value) 这个方法原型,来对NSNumber对象进行解封装成所需基本数据类型

         

          NSValue是用来把结构体数据封装为对象

            使用 (ValueWith结构体变量名)这个方法原型,来对结构体数据类型进行封装成NSValue对象

                结构体

                    CGPoint 定义一个点

                    CGSize  也是定义一个点

                        这结构体中有xy两个CGFloat的数据类型

         

                    CGRect  创建一个矩形,一共有四个参数

         

                    NSRange 该结构体有两个参数,就是从location开始,长度为length

         

                    NSEdgeInsets   用户界面布局的结构体,就是离topleftbottomright的距离是多少

                        ......

                其中这些CGPointCGRect等这些结构体都会有相对应的NSPointNSRect等结构体,但是这两种结构体的用法都是类似的;同样关于NSRangeNSEdgeInsets等结构体都有与其相对应的CGRangeCGEdgeInsets等结构体,用法也类似

         

         结构体初始化

            CGPoint point = {21, 43};

         也可以这样,这种也是最常用的

            CGPoint point = CGPointMake(21, 43);

         每种结构体都具有两种的初始化方式,第二种方式就是使用类本身的方法初始化,

         方法原型为:结构体类型Make()

         

            使用 (结构体变量名Value)这个方法原型,来对NSValue对象进行解封装成所需的结构体数据类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值