我有一个叫做的协议Composite.
该协议有一个数组 composites: [Composite]
我也有一个通用的子类 GenericSubclass<T>: Composite
迭代数组时,我能想到的最好看起来像这样:
for item in composites {
if let item = item as? GenericSubclass<A> {
let sc = SomeOtherClass<A>
} else if let item = item as? GenericSubclass<B> {
let sc = SomeOtherClass<B>
} //and so on...
}
Run Code Online (Sandbox Code Playgroud)
有没有办法在GenericSubclass没有指定Generic 的情况下获得保留?在我的用例中,我完全不需要了解T.我只需要实例化具有相同泛型类型的另一个类.
任何帮助深表感谢.
我想测试诸如forecast.io 之类的第三方API,但我不太确定如何完成我想要实现的目标。
我在互联网上读到我应该使用模拟对象。然而,模拟对象的概念并不是我所需要的,因为我不想测试我的解析实现而不是网络调用本身。
例如,我想测试 URL 是否仍在工作,我的 API 密钥是否仍在工作,请求是否仍为预期格式,因此 GSON 不会崩溃或其他与网络调用本身直接相关的事情。
有什么好的方法可以做到这一点吗?
非常感谢
TLDR;我不需要模拟对象!