Swift Playground - 实例成员不能用于类型自定义类
Posted
技术标签:
【中文标题】Swift Playground - 实例成员不能用于类型自定义类【英文标题】:Swift playground - Instance member cannot be used on type custom class 【发布时间】:2016-05-10 21:49:37 【问题描述】:我正在尝试在 Playground 中实现以下代码:
class File
class func open(path: String, encoding: NSStringEncoding = NSUTF8StringEncoding) -> String?
if NSFileManager().fileExistsAtPath(path)
do
return try String(contentsOfFile: path, encoding: encoding)
catch let error as NSError
print(error.code)
return nil
return nil
但是当我尝试访问课程时:
let read = File()
let content = read.open("ba")
我收到此错误:“实例成员“读取”不能用于类型自定义类型“文件””
你们中的任何人都知道为什么会出现此错误或我该如何解决?
非常感谢您的帮助。
【问题讨论】:
***.com/a/26540934/2303865 答案就在原代码的正下方 顺便说一句,这不再适用于游乐场。你需要用一个真实的项目来测试它 【参考方案1】:您已经定义了一个静态方法,因此可以像这样访问它
let content = File.open("ba")
【讨论】:
静态方法和非静态方法有什么区别? 未声明为静态的方法和变量称为实例方法和实例变量。要引用实例方法和变量,您必须先实例化该类,这意味着您应该首先创建该类的对象。对于静态您不需要实例化类,您可以使用句号访问具有类名的方法和变量这是在 (.) 为什么要使用其他的?以上是关于Swift Playground - 实例成员不能用于类型自定义类的主要内容,如果未能解决你的问题,请参考以下文章
Swift:实例成员不能用于 ARKitVision 示例中的类型
Swift 2 实例成员“circleIndexes”不能用于“GameScene”类型
(Swift Playground 模板)使用 Swift 5.1 编译的模块不能被 Swift 5.1.3 编译器导入
swift-Xcode7.x(7.1,7.2,7.3)新建playground运行不能运行
无法在 Swift 中获取 UITextField 的 .text 属性 - 错误:“实例成员 'textFieldName' 不能用于类型 'ViewController'