行编辑操作不起作用Couchbase Lite iOS 1.3

时间:2016-08-26 03:38:42

标签: ios swift uitableview couchbase

自1.2.1版本升级到基础版精简版1.3 for ios以来,未调用与行编辑操作相关的tableview方法。

以下是我设置视图控制器的方法:

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个编辑动作相关的方法。一周前这个工作正常。然后我转向了其他的东西,升级到v1.3 for CBL iOS并回到了这个并且blugh ...不起作用。尝试降级回到1.2.1,没有好处。我找到关于这个问题的最重要的帖子,一个人不得不删除他故事板上的所有连接,我做了并重新安装了所有内容。我创建了新项目......无法在任何地方工作。

有什么想法吗?也许我错过了一些愚蠢的东西? 1.3中的错误?

1 个答案:

答案 0 :(得分:0)

replication.deletionAllowed = true;

解决了这个问题。