数字类NSNumber-创新互联

       在Object-C中有一些基本的数据类型:Int,char,float和Double,但是它们都不是类,不具有方法、成员变量和属性以及面向对象的特征,为了实现一切都是对象的特点,在Foundation框架中使用NSNumber类来封装这些数字类型,这样数字具有面向对象的特征,

创新互联公司专注于贵池网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供贵池营销型网站建设,贵池网站制作、贵池网页设计、贵池网站官网定制、微信小程序开发服务,打造贵池网络公司原创品牌,更为您提供贵池网站排名全网营销落地服务。

       一、获得NSNumber类的实例

           不仅是NSNumber类,Foundation框架中几乎所有的类,都有2种获得实例的方式:一种是通过构造器创建;另一种是通过工厂设计模式创建;

           以number为开头的方法是静态工厂创建方法,它通过工厂设计模式创建NSNuber对象获得实例,而以init开头的方法构造器,则通过构造器创建NSNumber对象初始化获得实例。

var n1 = 100
var n2 = NSNumber(integer:n1)
var n3 = NSNumber(int:CInt(n1))
var n4 = NSNumber(int:Int32(n1))

       二、NSNumber对象的比较

       与比较相关的方法哟isEqualToNumber 和 compare

       isEqualToNumber只是比较是否相等,而compare方法可以比较是否相等、大于和小于它的返回值是NSComparisonResult 枚举类型

           示例:

var initSwift = 100
    var initNumber = NSNumber(integer:initSwift)
    var floatNumber = NSNumber(double:80.0)
    if initNumber.isEqualToNumber(floatNumber) == true {
                        NSLog("相等")
}
    else{
                        NSLog("不相等")
}
    switch initNumber.compare(floatNumber){
            case .OrderedAscending:
                    NSLog("第一个数小于第二个数")
            case .OrderedSame:
                    NSLog("两个数相等")
            case .OrderedDescending:
                    NSLog("第一个数大于第二个数")
}

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


分享文章:数字类NSNumber-创新互联
标题来源:http://ybzwz.com/article/dsohjg.html