Does Swift have an implicit Object Initializer, like in C#? -
in c#, have object initializers, so:
person obj = new person { firstname = "craig", lastname = "playstead", }; does swift have this?
as example, have code:
var config = indicatesconfig() config.name = nslocalizedstring(localizable.folders, comment: "").uppercasestring config.style = .detailheader return config but along lines of:
var config = indicatesconfig() { name = nslocalizedstring(localizable.folders, comment: "").uppercasestring style = .detailheader } thank you!
edit:
i'm not referencing explicit definition of class initialisers. please bear in mind syntax shown in c# example.
not such. if create custom struct, swift will, under conditions, create default memberwise initializer close you're looking for. otherwise, don't think there's way implement such feature, since swift lacks with keyword new instance's scope.
update: close can get, defining custom operator:
infix operator <| { } func <|<t>(decl: @autoclosure () -> t, f: t -> () ) -> t { let obj = decl() f(obj) return obj } let label = uilabel() <| { $0.frame = cgrect(x: 10, y: 10, width: 300, height: 25) $0.text = "hello" $0.enabled = false } println(label) // <uilabel: 0x7fb46240b210; frame = (10 10; 300 25); text = 'hello'; userinteractionenabled = no; layer = <_uilabellayer: 0x7fb46240c2b0>>
Comments
Post a Comment