![swift – 找不到接受类型的参数列表的XCTAssertEqual的重载([String:AnyObject],[String:AnyObject]),第1张 swift – 找不到接受类型的参数列表的XCTAssertEqual的重载([String:AnyObject],[String:AnyObject]),第1张](/aiimages/swift+%E2%80%93+%E6%89%BE%E4%B8%8D%E5%88%B0%E6%8E%A5%E5%8F%97%E7%B1%BB%E5%9E%8B%E7%9A%84%E5%8F%82%E6%95%B0%E5%88%97%E8%A1%A8%E7%9A%84XCTAssertEqual%E7%9A%84%E9%87%8D%E8%BD%BD%28%5BString%EF%BC%9AAnyObject%5D%2C%5BString%EF%BC%9AAnyObject%5D%29.png)
func tableAsDictionary() -> [String: AnyObject]
然后我需要测试一下:
let tableDictionary = table.tableAsDictionary()let expectedDictionary: [String: AnyObject] = [ "ID": "1234","name": "Next to window","number": 23]XCTAssertEqual(tableDictionary,expectedDictionary) //error
解决方法 问题是字典的==运算符需要这样做Cannot find an overload for
XCTAssertEqualthat accepts an argument List of type[String : AnyObject],[String : AnyObject]
键和值类型都是Equatable:
func ==<Key : Equatable,Value : Equatable>(lhs: [Key : Value],rhs: [Key : Value]) -> Bool
但AnyObject不符合Equatable.
一个简单的解决方法是替换字典类型[String:AnyObject] 通过[String:NSObject],您的代码编译没有问题.
总结以上是内存溢出为你收集整理的swift – 找不到接受类型的参数列表的XCTAssertEqual的重载([String:AnyObject],[String:AnyObject])全部内容,希望文章能够帮你解决swift – 找不到接受类型的参数列表的XCTAssertEqual的重载([String:AnyObject],[String:AnyObject])所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)