相关疑难解决方法(0)

如何实现CoreData记录的重新排序?

我在我的iPhone应用程序中使用CoreData,但CoreData没有提供允许您重新排序记录的自动方式.我想使用另一列来存储订单信息,但使用连续的数字来排序索引有一个问题.如果我处理大量数据,重新排序记录可能涉及更新订单信息上的大量记录(这有点像改变数组元素的顺序)

实施有效订购方案的最佳方法是什么?

core-data ios

64
推荐指数
5
解决办法
2万
查看次数

即使显示抓取器,也无法在UITableView中移动行

我有一个奇怪的问题,我无法弄清楚我错过了什么.我有一个可编辑的UITableView(即当我的UI加载时,我发送我的表setEditing:YES animated:YES消息).表中的最后一行是"添加新"行.除了表格中最后一行之外的所有行都可以移动.没有行可以删除.

行显示正确,并且抓取器显示在除最后一行(按预期)之外的所有行的右侧.问题是我无法移动行.当我点击抓取器移动行时,它有点摇晃,但我无法向上或向下拖动它.这是相关的代码片段:

- (UITableViewCellEditingStyle)tableView:(UITableView *)aTableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
    return UITableViewCellEditingStyleNone;
}

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {   
    if (indexPath.row == [self.itemArray count] ) {
        return NO;
    }
    return YES;
}

- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath {
    if (indexPath.row == [self.itemArray count]) {
        return NO;
    }
    return YES;
}

- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath {
    Item *item = [self.itemArray objectAtIndex:fromIndexPath.row];
    [self.itemArray removeObjectAtIndex:fromIndexPath.row];
    [self.itemArray insertObject:item atIndex:toIndexPath.row];
}

- (NSIndexPath *)tableView:(UITableView *)tableView targetIndexPathForMoveFromRowAtIndexPath:(NSIndexPath *)sourceIndexPath toProposedIndexPath:(NSIndexPath *)proposedDestinationIndexPath {
    if …
Run Code Online (Sandbox Code Playgroud)

cocoa-touch objective-c uitableview

13
推荐指数
2
解决办法
6977
查看次数

标签 统计

cocoa-touch ×1

core-data ×1

ios ×1

objective-c ×1

uitableview ×1