Den*_*nis 5 oop methods protocols class-method swift
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!)
}
Run Code Online (Sandbox Code Playgroud)
嗨这是我在GitHub上找到的一段代码.在这个协议中,类方法和实例方法之间的主要区别是什么?它们是如何定义的?谁能帮我?
文档中的一些文字:
实例方法
实例方法是属于特定类,结构或枚举的实例的函数.它们通过提供访问和修改实例属性的方法,或通过提供与实例目的相关的功能来支持这些实例的功能.
即.类的实例必须调用此方法.示例:
var a:classAdoptingNoteProtocol=classAdoptingNoteProtocol()
a.update()
Run Code Online (Sandbox Code Playgroud)
分类方法
如上所述,实例方法是在特定类型的实例上调用的方法.您还可以定义在类型本身上调用的方法.这些方法称为类型方法.通过在方法的func关键字之前编写关键字class来指定类的类型方法,并通过在方法的func关键字之前写入关键字static来键入结构和枚举的方法.
它们在其他语言中被称为静态方法.要使用它们,这就是我要做的:
var b=classAdoptingNoteProtocol.noteFromNoteEntity(...)
Run Code Online (Sandbox Code Playgroud)
这将返回一个采用的类的实例 NoteProtocol.即.您不必创建类的实例来使用它们.
| 归档时间: |
|
| 查看次数: |
4876 次 |
| 最近记录: |