jam*_*rez 3 int warnings swift
我收到以下警告,没有提到它发生的行:
warning: integer overflows when converted from 'Builtin.Int32' to 'Builtin.Int8'
Run Code Online (Sandbox Code Playgroud)
此代码中出现警告:
extension NSPoint {
func ToString() -> String {
return "(" + self.x.description + "," + self.y.description + ")"
}
func Plus(toBeAdded : NSPoint) -> NSPoint {
return NSPoint(x: self.x + toBeAdded.x, y: self.y + toBeAdded.y)
}
func Minus(toBeMinused : NSPoint) -> NSPoint {
return NSPoint(x: self.x - toBeMinused.x, y: self.y - toBeMinused.y)
}
static func fromScalar(scalar : Int) -> NSPoint {
return NSPoint(x: scalar, y: scalar)
}
}
Run Code Online (Sandbox Code Playgroud)
NSPoint初始化程序需要Int,所以我不会立即知道为什么会这样 - 任何想法?
这看起来像一个bug,是由description方法中的ToString()方法引起的 .已发生相同的警告
let x = CGFloat(12.0)
let s = x.description
Run Code Online (Sandbox Code Playgroud)
作为解决方法,您可以使用字符串插值代替:
func ToString() -> String {
return "(\(self.x),\(self.y))"
}
Run Code Online (Sandbox Code Playgroud)
要不就
func ToString() -> String {
return "\(self)"
}
Run Code Online (Sandbox Code Playgroud)
这给出了相同的结果.
| 归档时间: |
|
| 查看次数: |
605 次 |
| 最近记录: |