[swift-evolution] [Proposal] autocreate parameter for optional values
Saagar Jha
saagarjha28 at gmail.com
Thu Jul 28 21:58:31 CDT 2016
If the compiler can figure out the type of the expression, you can use [:] in place of [NSObject: AnyObject], as below:
let config = URLSessionConfiguration.default
var headers = config.httpAdditionalHeaders ?? [:]
headers["Some-Additional-Info"] = "1992-08-01"
Saagar Jha
> On Jul 28, 2016, at 19:08, Kwanghoon Choi via swift-evolution <swift-evolution at swift.org> wrote:
>
> Dear swifters.
>
> I have an proposal for autocreation of optional variables
>
> This idea came from below situation
>
> I have to addtional header to NSURLSessionConfiguration like this
>
> let config = NSURLSessionConfiguration.defaultSessionConfiguration()
> config.HTTPAdditionalHeaders?["Some-Additional-Info"] = "1992-08-01"
>
> here is the problem
>
> how to be sure not nil for HTTPAdditionalHeaders in defaultSessionConfiguration
>
> may be nil or not nil, I read api reference of HTTPAdditionalHeaders but, did't see for value state of creation.
>
> yeah, I know. it's optional. so may be I should thought it must be nil. but really must be? I think it's not very clear logic.
>
> anyway, HTTPAdditionalHeaders was nil. so i have to solve, and solve like this.
>
> let config = NSURLSessionConfiguration.defaultSessionConfiguration()
> var headers = config.HTTPAdditionalHeaders ?? [NSObject: AnyObject]()
> headers["Some-Additional-Info"] = "1992-08-01"
>
> May be another way to solve this.
>
> so I suggest autocreate parameter or something like that
>
> NSURLSessionConfiguration have this variable
> public var HTTPAdditionalHeaders: [NSObject : AnyObject]?
>
> change above things to like below
> public autocreate var HTTPAdditionalHeaders: [NSObject : AnyObject]? {
>
> create { return [NSObject: AnyObject]() }
>
> }
>
>
>
> let headers = config.HTTPAdditionalHeaders must be return nil
>
> but
>
> config.HTTPAdditionalHeaders["SomeThinkConvenient"] = "YEAH~"
>
> this is automatically create Dictionary and set key and value
>
>
>
> What about this idea, Dears?
>
>
>
> Thank you for reading.
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160728/d6c27b27/attachment.html>
More information about the swift-evolution
mailing list