2016-02-15 53 views
2

我想在基類爲NSManagedObject(或NSObject)的我的數據庫類中定義delete函數。但我注意到delete函數已經存在於NSObject中,它需要sender參數。但是,我在NSObject中找不到有關此功能的任何文檔。NSObject中的`delete`函數做什麼

該功能應該如何使用?我們重寫它是否安全?

這裏的定義是:

extension NSObject { 

    @available(iOS 3.0, *) 
    public func cut(sender: AnyObject?) // these methods are not implemented in NSObject 
    @available(iOS 3.0, *) 
    public func copy(sender: AnyObject?) 
    @available(iOS 3.0, *) 
    public func paste(sender: AnyObject?) 
    @available(iOS 3.0, *) 
    public func select(sender: AnyObject?) 
    @available(iOS 3.0, *) 
    public func selectAll(sender: AnyObject?) 
    @available(iOS 3.2, *) 
    public func delete(sender: AnyObject?) 
    ... 
} 
+1

不知道這個協議,但它看起來像它存在:https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UIResponderStandardEditActions_Protocol/index.html –

回答

2

這些都是UIResponder標準的編輯操作。由於響應者鏈的作用方式,它們是非常通用的,這個想法/設計就是你可以發送一條消息到鏈中,它會傳播直到最終響應。如果沒有任何反應,那麼這些功能被記錄爲忽略該請求。

+1

該方法被定義爲部分非正式['UIResponderStandardEditActions'](https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UIResponderStandardEditActions_Protocol/index.html#//apple_ref/occ/instm/NSObject/delete: ) 協議。其中也包含了這些方法何時發送以及應該發生什麼的一般描述。 – JustSid