I would like to be able to use functions to help me initilise a class or
struct so I can break down a init into seperate methods, like so:
struct Person {
let age: Int
init (json: Dictionary) {
// lots of code
age = json["age"]
}
}
This can become un-wieldly, so I would love to be able to do this:
struct Person {
let age: Int
init (json: Dictionary) {
// lots of code
age = getAge(json)
}
private func getAge(json: Dictionary) -> Int {
}
}
···
*___________________________________*
*James⎥*
*james@supmenow.com <james@supmenow.com>⎥supmenow.com <http://supmenow.com>*
*Sup*
*Runway East *
*10 Finsbury Square*
*London*
* EC2A 1AF *
anandabits
(Matthew Johnson)
2
You might be interested in taking a look at my proposal for partial initializers swift-evolution/NNNN-partial-initializers.md at partial-initializers · anandabits/swift-evolution · GitHub
This proposal was tabled for Swift 3 but I hope to revisit the topic of improving initializers in when we ramp up Swift 4.
···
Sent from my iPad
On May 23, 2016, at 8:24 AM, James Campbell via swift-evolution <swift-evolution@swift.org> wrote:
I would like to be able to use functions to help me initilise a class or struct so I can break down a init into seperate methods, like so:
struct Person {
let age: Int
init (json: Dictionary) {
// lots of code
age = json["age"]
}
}
This can become un-wieldly, so I would love to be able to do this:
struct Person {
let age: Int
init (json: Dictionary) {
// lots of code
age = getAge(json)
}
private func getAge(json: Dictionary) -> Int {
}
}
___________________________________
James⎥
james@supmenow.com⎥supmenow.com
Sup
Runway East >
10 Finsbury Square
London
> EC2A 1AF
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution
-1 would not miss it if it never made it to the language.
Regards
(From mobile)
···
On May 23, 2016, at 3:34 PM, Matthew Johnson via swift-evolution <swift-evolution@swift.org> wrote:
You might be interested in taking a look at my proposal for partial initializers swift-evolution/NNNN-partial-initializers.md at partial-initializers · anandabits/swift-evolution · GitHub
This proposal was tabled for Swift 3 but I hope to revisit the topic of improving initializers in when we ramp up Swift 4.
Sent from my iPad
On May 23, 2016, at 8:24 AM, James Campbell via swift-evolution <swift-evolution@swift.org> wrote:
I would like to be able to use functions to help me initilise a class or struct so I can break down a init into seperate methods, like so:
struct Person {
let age: Int
init (json: Dictionary) {
// lots of code
age = json["age"]
}
}
This can become un-wieldly, so I would love to be able to do this:
struct Person {
let age: Int
init (json: Dictionary) {
// lots of code
age = getAge(json)
}
private func getAge(json: Dictionary) -> Int {
}
}
___________________________________
James⎥
james@supmenow.com⎥supmenow.com
Sup
Runway East >>
10 Finsbury Square
London
>> EC2A 1AF
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution
You could move getAge() to be a private func outside of the scope of Person?
···
On 23 May 2016, at 11:24 PM, James Campbell via swift-evolution <swift-evolution@swift.org> wrote:
I would like to be able to use functions to help me initilise a class or struct so I can break down a init into seperate methods, like so:
struct Person {
let age: Int
init (json: Dictionary) {
// lots of code
age = json["age"]
}
}
This can become un-wieldly, so I would love to be able to do this:
struct Person {
let age: Int
init (json: Dictionary) {
// lots of code
age = getAge(json)
}
private func getAge(json: Dictionary) -> Int {
}
}
___________________________________
James⎥
james@supmenow.com <mailto:james@supmenow.com>⎥supmenow.com <Supmenow.com is for sale | HugeDomains;
Sup
Runway East >
10 Finsbury Square
London
> EC2A 1AF
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution