protocol NoteProtocol {
var body: NSString? { get set }
var createdAt: NSDate? { get set }
var entityId: NSString? { get set }
var modifiedAt: NSDate? { get set }
var title: NSString? { get set }
// class methods
class func insertNewNoteInManagedObjectContext(managedObjectContext: NSManagedObjectContext!) -> NoteProtocol
class func noteFromNoteEntity(noteEntity: NSManagedObject) -> NoteProtocol
// instance methods
func update(#title: String, body: String)
func deleteInManagedObjectContext(managedObjectContext: NSManagedObjectContext!)
}
你好
这是我在 GitHub 上找到的一段代码。在这个协议(protocol)中,类方法和实例方法的主要区别是什么?它们是如何定义的?
谁能帮我?
最佳答案
来自 the documentation 的一些文字:
实例方法
IE。类的实例必须调用此方法。例子 :
var a:classAdoptingNoteProtocol=classAdoptingNoteProtocol()
a.update()
类方法
它们在其他语言中被称为静态方法。要使用它们,我会这样做:
var b=classAdoptingNoteProtocol.noteFromNoteEntity(...)
这将返回一个采用
NoteProtocol
的类的实例。 IE。您不必创建类的实例来使用它们。