2014-09-23 2 views
0

Можно ли преобразовать NSObject в Int? и как я могу это реализовать? Я смотрю справочное руководство Apple, но я не могу понять, как использовать intValue под ссылкой NSObject.NSObject to Int (Swift)

var intValue: Int32 { get } 

Я получаю NSObject из другого класса, который является самым высоким. Я хочу сравнить этот HighestScore с текущим счетом, и если текущий счет больше, чем upperScore, отправьте текущий счет, который нужно сохранить. Я все это уже только я не могу сравнить 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, это будет более ясным. –

+0

Я просто добавил дополнительную информацию, надеюсь, что вы можете направить меня на то, что делать –

+1

Есть ли у retrieveHighScore * есть *, чтобы вернуть NSObject? – DCMaxxx

ответ

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 

Я попытался сделать это проще, но фрагмент кода выше, является только один, который работает

Смежные вопросы