cocoa - Swift 协议(protocol) : method does not override any method from its superclass

标签 cocoa swift nslayoutmanager

由于 Xcode 6 仍然有很多 Swift 的错误,我不确定是一个错误还是我遗漏了什么。 我的类采用协议(protocol) NSLayoutManagerDelegate。但似乎不可能覆盖我需要的方法。我按照文档描述的那样做:

override func layoutManager(_ aLayoutManager: NSLayoutManager!,
        didCompleteLayoutForTextContainer aTextContainer: NSTextContainer!,
        atEnd flag: Bool) {

    }

但我在这里遇到错误:方法没有覆盖其父类(super class)中的任何方法。 我该怎么办?

最佳答案

是的,您正在实现协议(protocol)中的方法,但这不是覆盖。只需删除 override 关键字即可。覆盖是指您的父类(super class)也实现了该方法,并且您提供了一个版本来替换或修改父类(super class)实现的行为。这不是这里发生的事情。

关于cocoa - Swift 协议(protocol) : method does not override any method from its superclass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24380681/

相关文章:

xcode - 以支持的图像分辨率在多个网络摄像头上同时捕获图像

cocoa - 当用户调整 NSTableViews 列的大小时,单元格不会调整大小?

objective-c - 运行同一个 XPC 服务的多个实例 (NSXPCConnection)

macos - 核心数据 nstableview 搜索栏

ios - 将核心数据从选定的表格单元格传递到新的 View Controller

Cocoa:NSTextStorageDelegate 的 NSLayoutManager 已经过时了?

ios - 使用 CALayer 突出显示跨多行的 UITextView 中的文本

ios - 如何计算远离相机的矢量?

swift - RealityKit 和 Reality Composer——图像识别

objective-c - NSLayoutManager Text 新行似乎从矩形底部开始向上