Xcode 看不到 swift 子类
Posted
技术标签:
【中文标题】Xcode 看不到 swift 子类【英文标题】:Xcode can't see swift subclass 【发布时间】:2015-02-05 23:22:35 【问题描述】:我对 UIScrollView 进行了子类化以添加一些关于滚动和按钮的功能,而 Xcode 无论如何都无法看到我的子类。
let scrollView = CustomScrollView()
只是给我一个“使用未解析的标识符'CustomScrollView'”错误。我已经清理了项目,重新启动了 Xcode,并且该类肯定已添加到我的项目目标中,所以我不太确定发生了什么。以下是 CustomScrollView 类中的所有代码:
import UIKit
class CustomScrollView: UIScrollView
override func touchesShouldBegin(touches: NSSet!,
withEvent event: UIEvent!,
inContentView view: UIView!) -> Bool
if (view .isKindOfClass(UIButton))
return true
else
return super.touchesShouldCancelInContentView(view)
【问题讨论】:
【参考方案1】:检查事项:
-
文件包含在目标中。 (您表示已完成。)
确保它在同一个模块中。 (或尝试将其公开。)
使用类编译文件成功。
您是否尝试过从声明它的文件中访问它?
【讨论】:
你提到的一切都是应该的,我最终将它从目标中删除,然后读取它,然后它就起作用了......我猜只是那些奇怪的事情之一 我会留下答案,因为它可能对其他人有帮助。以前没有见过 Xcode 这样做,但我在 Interface Builder 中看到过类似的事情,其中移动某些东西并将其移回恢复正确的行为,所以我并不完全震惊。【参考方案2】:我想自己解决一个类似的问题。
我创建了一个类,并以某种方式将它保存在 Base.lproj 中。对于这个项目,我实际上并没有在那里创建任何其他文件,所以我不知道为什么它切换到保存在那里(但我可能在不同的项目中使用过 Base.lproj)。
将源移回主文件夹,添加回项目,然后再移至目标,一切都恢复正常。
【讨论】:
以上是关于Xcode 看不到 swift 子类的主要内容,如果未能解决你的问题,请参考以下文章
Xcode 找不到 ProductModuleName-Swift.h
在 CoreData 中使用 NSManagedObject 子类找不到 xcode8 标头
为啥找不到 Swift 4 语言的 Xcode 目标 c 接口标题名称
Xcode 7.3 找不到“Project-Swift.h”文件
`attemptRecovery(fromError:optionIndex:)` 在 NSDocument 的 Swift 子类的超类中找不到