自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中的错误?
答案 0 :(得分:0)
replication.deletionAllowed = true;
解决了这个问题。