我有一种方法:
func tableAsDictionary() -> [String: AnyObject]
然后我需要测试一下:
let tableDictionary = table.tableAsDictionary()
let expectedDictionary: [String: AnyObject] = [
"id": "1234",
"name": "Next to window",
"number": 23
]
XCTAssertEqual(tableDictionary, expectedDictionary) //error
找不到接受
XCTAssertEqual
类型的参数列表的[String : AnyObject], [String : AnyObject]
的重载
答案 0 :(得分:7)
问题是词典的==
运算符需要这样做
密钥和值类型都是Equatable
:
func ==<Key : Equatable, Value : Equatable>(lhs: [Key : Value], rhs: [Key : Value]) -> Bool
但AnyObject
不符合Equatable
。
一个简单的解决方法是替换字典类型[String: AnyObject]
通过[String : NSObject]
,您的代码可以毫无问题地编译。