簡単なはずですが、逆変換しか見つけることができません。 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!)
}
エラーはあなたですか? 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
}
私は何かを見逃していますか、これはばかげて簡単ではありませんか?
let number1: Int32 = 10
let number2 = Int(number1)
「 '(()-> Int32)型の引数リストで' Int '型の初期化子を呼び出すことはできません」を生成するSwift 4.0
let number1: Int32 = 10
let number2 = Int(number1)
単にこれを行う
Int("\(Int32value)")
Swiftが物事を難しくしている理由を理解できません。
時々 "?"物をねじって、「!」を追加しますInt32に変換してから、intに変換します
let number1 = someInt32!
let number2 = Int(number1)