我有一个属于自己的班级:
class Set{...}
我用这个" Set"作为我的基本数据结构。今天我转到UI部分。
我尝试让textField resignFirstRespond
,所以我重写了以下函数:
override func touchesEnded(touches: Set<UITouch>, withEvent event: UIEvent?)
你看到&#34; Set&#34;这里有泛型类型?然后问题出现了 - &gt;编者告诉我班级&#34; Set&#34;没有任何通用类型。所以我知道这里的 Set 表示我自己的 Set 类。
关于可能的解决方案,我尝试过: 输入&#34; S&#34;并使用&#34; ESC&#34;为了调用代码推荐器,我点击了正确的课程。但是,无用的它仍然表明了自我设计课程。
所以有人能告诉我如何处理这个问题!谢谢!
b.t.w。我想改变我的班级&#39;也是名字,但它的相对点太多了。我无法相信XCode不能区分具有相同名称的类!
答案 0 :(得分:2)
来自https://developer.apple.com/library/ios/documentation/Swift
Swift的访问控制模型基于模块和概念 源文件。
模块是单个代码分发单元 - 框架或 作为单个单元构建和运输的应用程序 由另一个模块使用Swift的import关键字导入。
Xcode中的每个构建目标(例如应用程序包或框架)都是 在Swift中被视为一个单独的模块。如果你将方面组合在一起 你的应用程序的代码作为一个独立的框架 - 也许是封装 并在多个应用程序中重用该代码 - 然后是您的一切 在该框架内定义将成为单独模块的一部分 在应用程序中导入和使用,或在其他应用程序中使用时 框架。
源文件是模块中的单个Swift源代码文件(in 效果,应用程序或框架中的单个文件)。虽然是 通常在单独的源文件中定义单个类型,单个 源文件可以包含多个类型,函数和的定义 等等。
然后,您可以使用import
关键字或MyModule.MyClass
来区分具有相同名称的两个类。如果您查看documentation,则会通知Set
模块中Swift
override func touchesEnded(touches: Swift.Set<UITouch>, withEvent event: UIEvent?)
答案 1 :(得分:0)
试试Swift.Set<UITouch>
。这在一个操场上编译:
import UIKit
class Set { }
class MyView : UIView {
override func touchesEnded(touches: Swift.Set<UITouch>, withEvent event: UIEvent?) {
}
}
但实际上,重命名你的班级会更好。