曾几何时,有一位开发人员以50%的比例运行iOS模拟器,因此模拟器适合他的MacBook Pro屏幕.模拟器显示器以这种比例精美呈现,一切都很好.
有一天,Apple发布了带有更新模拟器的xCode 7.锯齿状线条以50%的比例摧毁了模拟器曾经平滑的渲染效果.所选择的设备对于严酷的像素化无关紧要.一些UITableViewCell分离器甚至逃脱了暴行,直到比例增加到75%或更高才会返回.同样,在75%或更高的比例下,昔日的清晰渲染将返回到模拟器.但是,如此规模的规模将不适合开发人员的屏幕,并会召唤出令人厌恶的滚动条.
开发商询问了他在陆地上的同事; 有些人注意到了这个问题,有些则没有.其他开发者的屏幕是否是视网膜显示似乎无关紧要.开发商的追求一直在继续,寻求恢复以前的美丽和秩序,但不再是.
你能帮助年轻的开发者和他的同志吗?
我在playground文件中有以下代码:
extension Dictionary {
func test() {
for key in self.keys {
self[key]
}
}
}
var dict: [String: AnyObject?] = [
"test": nil
]
dict.test()
Run Code Online (Sandbox Code Playgroud)
我今后将把for-each循环中的行称为输出,因为它是相关的.在这个特定的例子中,输出是nil.
当我将for-each循环更改为如下所示:
for key in self.keys {
print(self[key])
}
Run Code Online (Sandbox Code Playgroud)
输出是"Optional(nil)\n".
我真正想要做的是检查nil的值,但是代码:
for key in self.keys {
self[key] == nil
}
Run Code Online (Sandbox Code Playgroud)
输出false.
我尝试的另一件事是:
for key in self.keys {
self[key] as! AnyObject? == nil
}
Run Code Online (Sandbox Code Playgroud)
产生错误:
Could not cast value of type 'Swift.Optional<Swift.AnyObject>' to 'Swift.AnyObject'
Run Code Online (Sandbox Code Playgroud)
任何帮助都非常感谢!