Swift 2 array of tuples not working as in swift 1

2020-02-07 10:36发布

Array:

var rows: [(title: String, body: String, icon: String, iconColor: UIColor)] = []
rows.append(title: "Foo", body:"Bar", icon: "Bas", iconColor: UIColor(netHex: 0x4285f4))

the append line is giving me following error since I upgraded to swift 2:

Cannot invoke append with argument list of type (title: String, body: String, icon: String, iconColor: UIColor)

in swift 1 it was working fine. Any idea whats wrong?

标签: swift swift2
2条回答
ゆ 、 Hurt°
2楼-- · 2020-02-07 10:59

Oh, OK, you need more parentheses.

At the moment you're providing a list of 4 parameters.

You need one tuple parameter like this...

rows.append((title: "Foo", body:"Bar", icon: "Bas", iconColor: UIColor(netHex: 0x4285f4)))
查看更多
Rolldiameter
3楼-- · 2020-02-07 11:08

You're appending the parameters list, not the tuple itself: you're missing a pair of ().

rows.append((title: "Foo", body:"Bar", icon: "Bas", iconColor: UIColor(netHex: 0x4285f4)))
查看更多
登录 后发表回答