簡體   English   中英

如何在Swift中將Int32轉換為Int?

[英]How can I convert Int32 to Int in Swift?

應該很容易,但我只能找到反向轉換。 如何在Swift中將Int32轉換為Int? 除非問題不同?

我有一個存儲在Core Data中的值,我希望將其作為Int返回。

這是我正在使用的代碼,它不起作用:

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

    return Int(myUnit.valueForKey(“theNUMBER”)?.intValue!)
 }

我錯過了什么或不是這么荒謬嗎?

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

錯誤是你的? 在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
}

Swift 4.0生成“無法使用類型'(() - > Int32)的參數列表調用類型'Int'的初始值設定項”

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

只需這樣做

Int("\(Int32value)")

我無法理解為什么斯威夫特會讓事情變得困難。

有時“?” 讓事情扭曲,添加“!” 到Int32然后將其轉換為int工作

let number1 = someInt32!
let number2 = Int(number1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM