是否可以将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进行比较
感谢您的帮助
答案 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
我试图让它变得更简单,但上面的代码段是唯一有效的代码