我是swift的新手,我不理解隐式类型转换,我在单元测试中有这个:
let protocols: AnyObject? = NSBundle.mainBundle().infoDictionary?["UISupportedExternalAccessoryProtocols"];
我需要测试protocols
存在,是一个数组并包含“foo”和“bar”。
答案 0 :(得分:0)
我提出了这个解决方案:
let protocols: AnyObject? = NSBundle.mainBundle().infoDictionary?["UISupportedExternalAccessoryProtocols"];
if let p = protocols as? [String] {
XCTAssertTrue(contains(p, "foo"));
XCTAssertTrue(contains(p, "bar"));
} else {
XCTFail("UISupportedExternalAccessoryProtocols must be an array");
}
有没有更好的方法来处理它?</ p>