我有一个方法:
func tableAsDictionary() -> [String: AnyObject]
Run Code Online (Sandbox Code Playgroud)
然后我需要测试一下:
let tableDictionary = table.tableAsDictionary()
let expectedDictionary: [String: AnyObject] = [
"id": "1234",
"name": "Next to window",
"number": 23
]
XCTAssertEqual(tableDictionary, expectedDictionary) //error
Run Code Online (Sandbox Code Playgroud)
找不到
XCTAssertEqual接受类型参数列表的重载[String : AnyObject], [String : AnyObject]
问题是==字典的运算符要求键和值类型都是Equatable:
func ==<Key : Equatable, Value : Equatable>(lhs: [Key : Value], rhs: [Key : Value]) -> Bool
Run Code Online (Sandbox Code Playgroud)
但AnyObject不符合Equatable.
一个简单的解决方法是更换字典类型[String: AnyObject]
的[String : NSObject],那么你的代码编译没有问题.
| 归档时间: |
|
| 查看次数: |
1644 次 |
| 最近记录: |