如何在 Swift 中将 Int32 转换为 Int?
How can I convert Int32 to Int in Swift?
应该很容易,但我只能找到反向转换。
如何在 Swift 中将 Int32 转换为 Int?
除非问题不同?
我在 Core Data 中存储了一个值,我想 return 将其作为 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 生产 "Cannot invoke initializer for type 'Int' with an argument list of type '(() -> Int32)"
let number1: Int32 = 10
let number2 = Int(number1)
就这么办
Int("\(Int32value)")
我无法理解为什么 swift 让事情变得困难。
有时是“?”让事情变得扭曲,
添加“!”到 Int32,然后将其转换为 int works
let number1 = someInt32!
let number2 = Int(number1)
应该很容易,但我只能找到反向转换。 如何在 Swift 中将 Int32 转换为 Int? 除非问题不同?
我在 Core Data 中存储了一个值,我想 return 将其作为 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 生产 "Cannot invoke initializer for type 'Int' with an argument list of type '(() -> Int32)"
let number1: Int32 = 10
let number2 = Int(number1)
就这么办
Int("\(Int32value)")
我无法理解为什么 swift 让事情变得困难。
有时是“?”让事情变得扭曲, 添加“!”到 Int32,然后将其转换为 int works
let number1 = someInt32!
let number2 = Int(number1)