大佬教程收集整理的这篇文章主要介绍了Swift 2.0初始化嵌套字典不能像我预期的那样工作,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经创建了两个单元测试来演示.第一个(testFails)为字典赋值,然后使用嵌套结构的句柄构建子值.第二个(testWorks)总是取消引用顶级字典的完整路径并构建它.第二个版本总是有效,但第一个版本永远不会.我能想到的唯一的事情是(1),字典正在复制对子地图(subMap)的引用,或者(2)正在发生与可选项有关的东西.
对我来说都没有意义,而XCode中的调试器糟透了,它没有显示结构的值.调试器说0键/对,但当我打印计数时,我得到一个值,所以这是没用的. E.G.,在testWorks中的XCTAssertEqual行上设置断点,调试器有时会说变量’map’包含0个键/值对,有时只显示任何内容 – 即使那里显然有一个键/值对.
在一个方面(新手)注意,我发现自己在这个非常“现代”的环境中使用print语句,因为XCode调试器失败很多 – 它向我显示没有数据或完全是外来的东西. E.G.,在Java中我可以检查不同变量的引用地址并清除代理/副本的时间,但我不能在xcode中这样做.
func testFails() { var map = [String: [String: String]](); var subMap = [String: String](); map["map"] = subMap; subMap["1"] = "2"; XCTAssertEqual(1,map.count); XCTAssertEqual(1,map["map"]!.count); // << Fails XCTAssertEqual("2",map["map"]!["1"]); // << Fails } func testWorks() { var map = [String: [String: String]](); map["map"] = [String: String](); map["map"]!["1"] = "2"; XCTAssertEqual(1,map["map"]!.count); XCTAssertEqual("2",map["map"]!["1"]); }
以上是大佬教程为你收集整理的Swift 2.0初始化嵌套字典不能像我预期的那样工作全部内容,希望文章能够帮你解决Swift 2.0初始化嵌套字典不能像我预期的那样工作所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。