NSObject到Int(Swift)

时间:2014-09-23 05:46:34

标签: swift nsnumber nsobject nsinteger

是否可以将NSObject转换为Int?我该如何实现呢? 我看了Apple参考指南,但我似乎无法理解如何在NSObject参考下使用intValue。

var intValue: Int32 { get }

我从另一个保存了最高分数的班级收到一个NSObject。我想将此最高分数与当前分数进行比较,如果当前分数大于最高分数,则发送当前分数进行保存。除了我无法将NSObject(最高分)与我的Int(当前分数)进行比较之外,我已经拥有了所有这些

以下是我检索HighestScore的方法:

 func RetriveHighScore() -> NSObject {
    var dataToRetrive = HighScore()
    documentDirectories = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)
    documentDirectory = documentDirectories.objectAtIndex(0) as String
    path = documentDirectory.stringByAppendingPathComponent("highScore.archive")
    if let dataToRetrive2 = NSKeyedUnarchiver.unarchiveObjectWithFile(path) as? HighScore {
        dataToRetrive = dataToRetrive2
    }

    return(dataToRetrive)
}

以下是我在另一个课程中调用SaveHighScore类和RetrieveHighScore函数的方法:

var bestScore = SaveHighScore.RetriveHighScore

如何将Int值与我的bestScore变量NSObject进行比较

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

如果某个对象是真实的' AnyObject,但有人知道它代表一个表示Int编号的数字序列,那么以下代码适用于我(Xcode Version 6.1(6A1052c)):

 let oInt = (object as String).toInt() // in my app object has type _TtSQ , 
 var intResult = 0
 if oInt != nil { intResult = oInt! }  // intResult has type _TtSi

我试图让它变得更简单,但上面的代码段是唯一有效的代码