> On 18 May 2016, at 11:56, Artyom Goncharov via swift-users
> wrote:
>
> Hi, here is the playground snippet:
>
> var noOptDict = ["one": 1, "two": 2, "three": 3 ]
> noOptDict["one"] = nil
> noOptDict // “one” is gone
>
> var optDict: [String: Int?] = ["one": 1, "two": 2, "three": nil]
> optD
> On May 18, 2016, at 7:35 PM, Nathan Day wrote:
>
> In objective-c I have come across something like this a lot where a
> NSDictionary has been created from JSON an a NSNull is used to represent an
> actual null in the source JSON versus the absence of the key
Yeah, this comes from JavaScrip
In objective-c I have come across something like this a lot where a
NSDictionary has been created from JSON an a NSNull is used to represent an
actual null in the source JSON versus the absence of the key, most of the time
I have had to just convert the NSNull to a nil, but I did have a situatio
This isn't limited to Optional. Any dictionary whose value type conforms to
NilLiteralConvertible can be "vulnerable" to some pretty subtle bugs.
- Dave Sweeris
> On May 18, 2016, at 13:16, Jens Alfke via swift-users
> wrote:
>
> (Thinking about it, I can’t see much use for a dictionary of op
> On May 18, 2016, at 09:38, Ray Fix via swift-users
> wrote:
>
>
>> On May 18, 2016, at 3:56 AM, Artyom Goncharov via swift-users
>> wrote:
>>
>> var noOptDict = ["one": 1, "two": 2, "three": 3 ]
>> noOptDict["one"] = nil
>
> Wow, interesting. To me this was surprising behavior too.
>
>
> On May 18, 2016, at 11:03 AM, Artyom Goncharov via swift-users
> wrote:
>
> Yes, of course I can use API method but this kind of behaviour for subscript
> operator seems inconsistent(or even magical) to me because it is possible to
> initialise a dictionary with nil without casting it. Thou
> On May 18, 2016, at 11:03 AM, Artyom Goncharov via swift-users
> wrote:
>
> Yes, of course I can use API method but this kind of behaviour for subscript
> operator seems inconsistent(or even magical) to me because it is possible to
> initialise a dictionary with nil without casting it. Thou
Yes, of course I can use API method but this kind of behaviour for subscript
operator seems inconsistent(or even magical) to me because it is possible to
initialise a dictionary with nil without casting it. Though nil is a special
case it is still a value in the set of all values of a T? type, a
> On May 18, 2016, at 3:56 AM, Artyom Goncharov via swift-users
> wrote:
>
> var noOptDict = ["one": 1, "two": 2, "three": 3 ]
> noOptDict["one"] = nil
Wow, interesting. To me this was surprising behavior too.
The comment for Dictionary subscript says:
/// Access the value associated w
Sent: 星期三, 五月 18, 2016 6:56 下午
Subject: [swift-users] Dictionary with optional values
To:
Hi, here is the playground snippet:
var noOptDict = ["one": 1, "two": 2, "three": 3 ]
noOptDict["one"] = nil
noOptDict // “one” is gone
var optDict: [String: I
I'm not in front of Xcode, so I can't confirm this, but I suspect that
`optDict["one"] = nil as! Int?` will set "one" to nil, rather than removing
"one".
Whatever the rules for inferring the type of `nil` when an
Optional is involved are, it seems like it always
infers the one I don't want.
H
Hi, here is the playground snippet:
var noOptDict = ["one": 1, "two": 2, "three": 3 ]
noOptDict["one"] = nil
noOptDict // “one” is gone
var optDict: [String: Int?] = ["one": 1, "two": 2, "three": nil]
optDict["one"] = nil
optDict // “one” is gone but “three” is still there
So the first dict inst
12 matches
Mail list logo