我试图按照以下代码简单地将一个元组附加到数组中;
class Test: UIView {
let circleRadius: CGFloat = 10
let mainThemeColor: UIColor = UIColor.green
struct Properties {
var properties: (coordinatesXY: CGPoint, radius: CGFloat, group: String, fillingColor: UIColor)
}
var circleCollection: [Properties] = []
func setProperties() {
circleCollection.append(coordinatesXY: CGPoint(), radius: circleRadius, group: "test", fillingColor: mainThemeColor)
//Error Extra argument 'radius' in call
}
}
有人可以写下如何解决这个案子吗?
答案 0 :(得分:1)
您必须初始化您正在创建的Properties
类型的新属性:
circleCollection.append(Properties(properties: (coordinatesXY: CGPoint(x: 0, y: 0), radius: circleRadius, group: "test", fillingColor: mainThemeColor)))
此外,CGPoint
的初始值设定项为x
和y
。
考虑一下你是否真的希望Properties
只有一个属性,其所有字段都使用元组,或者如果最好有类似的东西:
struct Properties {
let coordinatesXY: CGPoint
let radius: CGFloat
let group: String
let fillingColor: UIColor
}
答案 1 :(得分:0)
您的数组采用Properties
struct而不是元组的实例。
尝试创建新实例Properties.init(properties: (coordinatesXY: CGPoint(0,0), radius: circleRadius, group: "test", fillingColor: mainThemeColor))
,然后将其添加到数组
答案 2 :(得分:0)
试试这个,
func setProperties() {
let tuple = Properties.init(properties: (coordinatesXY: CGPoint.zero, radius: circleRadius, group: "test", fillingColor: mainThemeColor))
circleCollection.append(tuple)
}