环境:
Swift> = 2.3,Swift应用程序中的Swift框架
设定:
APIService.framework
。 public class APIService.swift
有静态功能。它有另一个public class Item.swift
。
使用APIService.framework
APIService.function()
class Item.swift
如果App需要引用框架的Item类,它必须执行APIService.Item
但是由于APIService是框架内的类,编译器总是试图在APIService类中而不是在APIService模块中查找属性,因此抛出错误说
'Item' is not a member type of 'APIService'
可能的解决方案:
所有这些只是解决方法,真正的问题仍然是编译器无法区分模块名称和类名。我们在Swift中有什么可以说"Don't look into the ModuleName.swift, instead look into the whole Module"
吗?
答案 0 :(得分:0)
基于this answer,您可以直接从模块导入单个类型来解决此问题。
import class APIService.Item
然后您可以直接引用Item
而不会产生混淆。
class
,protocol
,struct
,enum
和func
关键字(至少)可以在这种情况下工作。