UIPasteboard UIMenuController 刪除崩潰問題

littleplayer發表於2017-12-26

不知道何時起你的APP中快捷編輯Board有了刪除項,你也查遍了播客文件,均說是系統bug,你放下了心結,按照通用方法遮蔽呼叫UIPasteboard,但許多快捷功能也因此喪失,而你卻只知道結果,卻不去探究原因,直到那麼一天,一個新的解決方案出現,你會覺的自己太懶惰了,懶於動腦,習慣伸手要。迴歸正題,之前因為會出現“刪除/delete”,點選崩潰,如圖:

螢幕截圖

崩潰截圖

你搜尋的解決方法是在具體的ViewContoller中增加遮蔽方法

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender {
    [[NSOperationQueue mainQueue] addOperationWithBlock:^{
        [[UIMenuController sharedMenuController] setMenuVisible:NO animated:NO];
    }];
    
    return [super canPerformAction:action withSender:sender];
}
複製程式碼

現在的方法是 我們用了第三方的資料儲存庫https://github.com/expensivegasprices/BZObjectStore/blob/master/BZObjectStore/ActiveRecord/NSObject%2BActiveRecord.h

- (BOOL)save;
- (BOOL)save:(NSError**)error;
- (BOOL)delete;
- (BOOL)delete:(NSError**)error;
- (id)refresh;
- (id)refresh:(NSError**)error;
複製程式碼

其中delete兩個方法引起我們的質疑,增加字首,測試再未發現delete快捷編輯選單,請問這是什麼原因造成的呢?

相關文章