您好,登錄后才能下訂單哦!
在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("第一個數大于第二個數") }
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。