Подтвердить что ты не робот

Как преобразовать Int32 в Int в Swift?

Это должно быть легко, но я могу найти обратное преобразование. Как преобразовать Int32 в Int в Swift? Разве проблема другая?

У меня есть значение, хранящееся в Core Data, и я хочу вернуть его как Int.

Вот код, который я использую, который не работает:

func myNumber () -> Int {
    var myUnit:NSManagedObject
    myUnit=self.getObject("EntityName") // This is working.

    return Int(myUnit.valueForKey("theNUMBER")?.intValue!)
 }
4b9b3361

Ответ 1

Ошибка? после valueForKey.

Инициализатор Int не принимает опции.

Выполняя myUnit.valueForKey("theNUMBER")?.intValue!, вы получите необязательное значение и значение! в конце не помогает.

Просто замените это:

return Int(myUnit.valueForKey("theNUMBER")!.intValue)

Но вы также можете сделать это, если хотите, чтобы это было безопасно:

return myUnit.valueForKey("theNUMBER")?.integerValue ?? 0

И чтобы сократить вашу функцию, вы можете сделать это:

func myNumber() -> Int {
    let myUnit = self.getObject("EntityName") as! NSManagedObject

    return myUnit.valueForKey("theNUMBER")?.integerValue ?? 0
}

Ответ 2

Я что-то пропустил или это не смешно легко?

let number1: Int32 = 10
let number2 = Int(number1)