2015-07-01 2 views
0

Я перемещаю строки внутри коллекцииView, у меня нет сортировки по данным, поэтому все новые ячейки вставлены в конец таблицы, но когда я переместить ячейку Я хочу, чтобы специально выбрать индекс, где он должен быть перемещен внутри объекта в основных данных, таким образом коллекцияView автоматически отобразит перемещенную ячейку в обновленной строке без какой-либо дополнительной работы, возможно, без создания дополнительного атрибута ID ?Как добавить два элемента по определенному индексу в объекте в CoreData в Swift

Сущность имеет имя List и имеет два атрибута: task_name и task_bool.

var myData:[NSManagedObject] = []  

    let appDelegate = 
     UIApplication.sharedApplication().delegate as! AppDelegate 
     let managedContext = appDelegate.managedObjectContext! 
     let newItem: AnyObject = NSEntityDescription.insertNewObjectForEntityForName("List", 
      inManagedObjectContext: 
      managedContext) 
     var deleltedRow = myArray[indexPath.row].valueForKey("task_name") as! String 
     myData.removeAtIndex(indexPath.row) 
     newItem.setValue(deleltedRow, forKey: "task_name"); // how would I add atIndex: here?? 
     newItem.setValue(true, forKey: "task_bool"); // how would I add atIndex: here?? 

ответ

3

Основные данные содержат неупорядоченный набор объектов. Если вы хотите отображать эти объекты в определенном порядке, вам необходимо отсортировать их, либо при извлечении, либо после. Это означает, что объекты должны иметь некоторую информацию внутри них, на которой вы можете сортировать. В настоящее время у вас ничего нет, поэтому вам нужно добавить атрибут типа order и сохранить его с соответствующими значениями.

+0

Спасибо, ребята, я попытаюсь не сортировать все вместе в этом случае, изменив атрибуты на task_completed и task_uncompleted –

1

Основные данные не хранят объекты в упорядоченном порядке. Если вы хотите отображать эти объекты в определенном порядке, вам понадобится свойство/атрибут в вашей сущности, который позволяет вам упорядочить список так, как вы хотите.

Это может быть хорошей идеей добавить атрибут order к сущности и использовать его для заказа.