2014-09-23 95 views
0

是否可以将NSObject转换为Int?我该如何执行这个? 我看了Apple参考指南,但我似乎无法理解如何在NSObject参考下使用intValue。NSObject到Int(Swift)

var intValue: Int32 { get } 

我从HighestScore保存的另一个类中收到NSObject。我想将此HighestScore与当前分数进行比较,如果当前分数大于highestScore,则发送当前分数以进行保存。我都已经只是我无法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

目前还不清楚是什么你实际上是试图达到的唯一的一个。也许如果你提供一些你想通过将一个NSObject转换为Int来解决的问题的细节,它会更清晰。 – 2014-09-23 05:58:30

+0

我刚添加了更多的信息,希望你能指导我做什么 – 2014-09-23 06:07:36

+1

Does retrieveHighScore * has *返回一个NSObject? – DCMaxxx 2014-09-23 06:14:13

回答

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 

我试图使它简单,但上面的代码段是工作