【发布时间】:2016-05-18 20:20:58
【问题描述】:
所以,我在子类中有这个函数:
func colorAt(x x: Int, y: Int)->UIColor {
assert(0<=x && x<width)
assert(0<=y && y<height)
let uncastedData = CGBitmapContextGetData(context)
let data = UnsafePointer<UInt8>(uncastedData)
let offset = 4 * (y * width + x)
let alpha: UInt8 = data[offset]
let red: UInt8 = data[offset+1]
let green: UInt8 = data[offset+2]
let blue: UInt8 = data[offset+3]
let color = UIColor(red: CGFloat(red)/255.0, green: CGFloat(green)/255.0, blue: CGFloat(blue)/255.0, alpha: CGFloat(alpha)/255.0)
return color
}
但是,我不想返回 UIColor,而是分别返回红色、绿色、蓝色和 alpha(这样我以后不必从 UIColor 获取 rgb 值)。是否有可能从函数中返回多个返回值,如果可以,如何返回?顺便说一句,我不确定这是否重要,但我也希望稍后在我的代码中能够从子类外部访问这些返回值。
谢谢!
【问题讨论】:
-
检查一个元组developer.apple.com/library/ios/documentation/Swift/Conceptual/…,或者你可以返回一个字典。如果你想在这个类之外访问它,你可以 b/c 你在定义函数时没有使用 private 关键字。
标签: swift function return subclass