2016-08-26 59 views
0

自從從1.2.1升級到針對ios的couchbase lite v 1.3以來,與行編輯操作相關的tableview方法未被調用。行編輯操作不起作用Couchbase Lite iOS 1.3

這裏是我有建立一個視圖控制器:

class MyClass: UIViewController, CBLUITableDelegate { 

... 
@IBOutlet weak var tableView: UITableView! 
var database: CBLDatabase!; 
let datasource: CBLUITableSource = CBLUITableSource(); 

... 

override func viewDidLoad() { 
    super.viewDidLoad() 
    self.database = DataService.sharedInstance.getDatabase(); 
    self.datasource.query =  self.database.viewNamed("userNotifsView").createQuery().asLiveQuery(); 
    self.datasource.tableView = self.tableView; 
    self.tableView.dataSource = self.datasource; 
    self.tableView.delegate = self; 
} 

!!! CALLED !!! 
func couchTableSource(source: CBLUITableSource, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell? { 
    let cell = tableView.dequeueReusableCellWithIdentifier("TestCell", forIndexPath: indexPath) as! MostViewedTableViewCell; 
    let row = self.datasource.rowAtIndex(UInt(indexPath.row)); 
    let notif = row!.value as! NSDictionary; 
    cell.mLabel?.text = notif["message"] as? String; 
    return cell; 
} 

!!! CALLED !!! 
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
    tableView.deselectRowAtIndexPath(indexPath, animated: true); 
} 

!!! NEVER CALLED !!! 
func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [UITableViewRowAction]? { 
    print("#############################"); 
    print("edit actions for row at index path"); 
    print("#############################\n\n\n\n"); 

    let myAction = UITableViewRowAction(style: .Normal, title: ... 
    ... 

    myAction.backgroundColor = UIColor.orangeColor() 
    return [myAction]; 
} 

!!! NEVER CALLED !!! 
func tableView(tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool { 
    print("#############################"); 
    print("can edit row at index path"); 
    print("#############################\n\n\n\n"); 
    return true 
} 

!!! NEVER CALLED !!! 
func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) { 
    print("#############################"); 
    print("commit editing style"); 
    print("#############################\n\n\n\n"); 
} 

沙發上表源上的的cellForRowAtIndexPath被稱爲我可以自定義的細胞。 didSelectRowAtIndexPath被調用,這很奇怪,因爲它是一個tableView方法。沒有調用3個編輯操作相關的方法。大概一週前這工作正常。然後,我轉移到其他的東西,升級到CBL iOS v1.3,回到這個和blugh ...不起作用。試圖降級到1.2.1,沒有好處。我發現關於這個人的最大關鍵點不得不刪除他的故事板上的所有連接,我做了這些連接並重新備份了所有的連接。我已經創建了新的項目......不工作在任何地方。

任何想法?也許我錯過了一些愚蠢的東西?錯誤在1.3?

回答

0
replication.deletionAllowed = true; 

解決了這個問題。