swift - Swift 中的自动布局 : 'String' is not identical to 'NSObject'

标签 swift autolayout

我正在关注此页面上的教程:

http://makeapppie.com/2014/07/26/the-swift-swift-tutorial-how-to-use-uiviews-with-auto-layout-programmatically/

我在代码中达到了这一点:

let dict = ["list":list]
let lcH = NSLayoutConstraint.constraintsWithVisualFormat("H:[list(100)]", options: NSLayoutFormatOptions(0), metrics: nil, views: dict)

最后一行产生此错误(箭头指向 dict):

'String' is not identical to 'NSObject'

我最初是想转换 Objective C code in this tutorial转到 Swift,我在同一个地方得到了完全相同的错误。当时我以为这是我错误地转换代码的结果,但现在我按照这个 Swift 教程并得到了完全相同的结果。

谁能告诉我我做错了什么?

最佳答案

选项点击dict。这会告诉你 Swift 推断出的类型。我猜它是[String: UIView?]。字典中的值不能是可选的,因此在创建dict时需要解包list:

let dict = ["list":list!]

关于swift - Swift 中的自动布局 : 'String' is not identical to 'NSObject' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27152908/

相关文章:

swift - 如何在 ViewController B 的按钮中调用来自服务 ViewController A 委托(delegate)的方法?

ios - Nil 与预期的参数类型 'UIImage' 不兼容

xcode - iOS7 隐藏状态栏但不调整顶部布局指南

ios - ImageView 坚持 UITableViewCell 中的 UILabel

ios - UIScrollView 框架在 iOS 8 和 iOS 7 上的大小不同

xcode - 对于没有有用信息的约束,AutoLayout 调试器显示 (null) ((null), (null))

ios - 快速更新核心数据实体中的数据

ios - Xcode 10 转换为 Swift 4.2 失败

ios - 如何随机给 UILabel 上色

ios - 自动布局未正确设置 ImageView 框架