【问题标题】:NSBezierPath error with Swift 2Swift 2 的 NSBezierPath 错误
【发布时间】:2016-04-11 01:05:41
【问题描述】:

我将 Xcode 更新到最新版本 (7.2),但出现以下错误:

使用未声明的“NSBezierPath”

extension String {
    ...
}

extension NSBezierPath { //Error here
    ...
}

我该如何解决?

【问题讨论】:

  • 你真的想为UIBezierPath创建一个扩展吗?
  • @luk2302 是的,但它是 NSBezierPath 的扩展。
  • @Geek20:这是一个 OS X 项目吗?你import AppKit 吗? (但这对于旧的 Xcode 版本也是必要的。)
  • 正如@MartinR 提到的docs 状态,您需要导入AppKit
  • 我在旧 Xcode 版本中没有这个错误.. 很奇怪。现在它适用于 AppKit!谢谢@MartinR luk2302

标签: xcode swift cocoa swift2 nsbezierpath


【解决方案1】:

NSBezierPath 仍然有效,所以我猜你没有:

import Cocoa

import AppKit

其中不依赖于面向 OS X 的应用程序。这样你就可以得到NSBezierPath

如果您指的是 IOS 应用(然后是 TVOS、WatchKit 或其他 iOS 设备):

import UIKit

然后你会得到UIBezierPath

两者之间有一些细微差别,但它们的功能几乎相同..

只是为了编辑:

Objective-C 和 Swift 在一些方面有所不同......(当然不是)......

Swift 你导入模块(你也可以在 Obj-C 中做 - 这要归功于 LLVM / Clang 的差异):

classic objective C:

#import <Cocoa/Cocoa.h> 

newer objective C: @import 可可

这同样适用于 Swift,但您不能使用 '@import' 导入它们

import Cocoa
import CoreFoundation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-08
    • 1970-01-01
    • 2018-07-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-07
    • 1970-01-01
    • 2016-01-10
    相关资源
    最近更新 更多