我建立了一个名为“CheckItem”的新数据结构(我正在做一个Todo项目)

然后让CheckItem类继承NSObjectNSCoding
但是Xcode在第1行警告编译时错误:

class CheckItem : NSObject,NSCoding {



全类如下:
 class CheckItem : NSObject,NSCoding {
        var text: String
        var isDone :Bool
        var imageName :String
        init(text: String,isDone: Bool,imageName: String){
            self.text = text
            self.isDone = isDone
            self.imageName = imageName
        }
        init(text: String,isDone: Bool){
            self.text = text
            self.isDone = isDone
            self.imageName = "No Icon"
        }

}

你能指出我的错误吗?非常感谢你!

最佳答案

将以下语句放在您的类(class)顶部:

import Foundation

即使这样,您也需要实现以下方法才能进行编译。这是因为您正在实现NSCoding协议(protocol),所以您的类必须通过实现以下内容来遵守该协议(protocol):
public func encodeWithCoder(aCoder: NSCoder)
public init?(coder aDecoder: NSCoder)

09-11 18:56