Сохранить дату основных данных в виде массива - PullRequest
0 голосов
/ 19 июня 2020

Моя цель быстрых кодов - сохранять дату каждый раз, когда вызывается функция. Что происходит, я просто сохраняю первую дату в основных данных. Я предполагаю, что мне нужно сохранить его как массив. Так что можно сохранить несколько дат и времени. Печатается только одна дата. Я хочу напечатать каждую дату "спасибо".

enter image description here

let date = Date()

func enterData() {

    let appDeldeaget = UIApplication.shared.delegate as! AppDelegate
    let context = appDeldeaget.persistentContainer.viewContext        
    let entity = NSEntityDescription.entity(forEntityName: "Data", in: context)
    let theTitle = NSManagedObject(entity: entity!, insertInto: context)
    theTitle.setValue(date.format(), forKey: "date")

    do {
        try context.save()
        itemName.append(theTitle)
    }
    catch {

    }
    print(date)        
}

Ответы [ 3 ]

0 голосов
/ 19 июня 2020

Вы можете использовать тип Transformable для сохранения массива.

Я использовал тот же подход для сохранения словарей

enter image description here

Затем вы можете изменить Codegen на Manual/None, нажмите на Editor -> Create NSManagedobject Subclass (вверху экрана).

И Xcode сгенерирует Data класс для вас

0 голосов
/ 19 июня 2020

Самый простой способ сделать это - создать другую таблицу с именем date, которая имеет отношение 1 ко многим с вашей таблицей.

Эта таблица Dates будет иметь 3 поля (идентификатор владельца, дата, порядок). Таким образом, вы можете просто добавить одну строку в таблицу, чтобы добавить одну дату для объекта, которому вы хотите реализовать дату в массиве.

После для вашей таблицы вы можете получить все даты с одинаковым идентификатором владельца, упорядоченные по порядку, и создать свой собственный массив.

0 голосов
/ 19 июня 2020

Вы должны установить свою переменную даты в функции, если хотите, чтобы она была новой каждый раз, когда вы вызываете функцию.

Для печати всех элементов вы можете использовать al oop:

do {
    try context.save()
    items.append(theTitle)
}
catch {
} 
for item in items {
    print(item)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...