swift - 从非协议(protocol)、非类类型继承 'CGPoint'

标签 swift cgpoint

我想创建一个自定义的 CGPoint 子类来添加一些属性,但是我得到了这个错误:

Inheritance from non-protocol, non-class type 'CGPoint'

我不知道为什么这是不可能的。我的类(class)就这么简单:

import UIKit

class IYAttachPoint: CGPoint {

  var holder: String = "No holder"
  var unavailable: Bool = false

}

我尝试添加一些库,如 CoreGraphics 或 QuartzCore,但没有成功。如果这个问题已经有一些问题或解决方案,请指出正确的方向。

最佳答案

这是不可能的,因为你想从一个类中继承一个结构。 CGPoint 是一个结构,因此它不支持继承,尽管它可以符合协议(protocol)。

如果你真的想这样做,使用组合而不是继承。

class IYAttachPoint {

  var point:CGPoint?
  var holder: String = "No holder"
  var unavailable: Bool = false
}

关于swift - 从非协议(protocol)、非类类型继承 'CGPoint',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26565202/

相关文章:

iphone - 检查 CGPoint 是否靠近另一个 CGPoint

swift - 如何在 Swift 中编码 CGPoint 数组

ios - 如何在 Swift2 中以编程方式设置约束?

swift - openMapsWithItems 无法调用 Swift 2.0 中的参数列表问题

swift - 无法快速设置 NSImageView 的图像属性

ios - 'UITouch' 没有可见的@interface 声明选择器 'locationInView'

ios - Cocoa iOS 在 UIView 中制作 CGPoints "Bigger"

swift - Swift 中的 MapKit

ios - 点击发送或取消按钮后如何关闭邮件 View Controller

ios - 如何快速转换NSValue中的CGPoint?