Я новичок в разработке iOS, и я пытаюсь развернуть свою голову, используя несколько управляемых объектов.Сохранение управляемого объекта с одним типом
Например, тестовое приложение имеет два объекта для папки, а другое для Планировщика. Это тип To One, поэтому для каждой папки есть планировщик. Планировщик имеет атрибут, называемый заметками для сохранения текста из текстового поля.
После создания папки, нажимая на ячейку в таблицеПросмотр пользовательского перехода к контроллеру представления планировщика, проходящему по объекту selectedFolder
. Внутри контроллера Planner View Controller Я пытаюсь убедиться, что при выполнении функции savePlanner
это должно сохранить текст 'UITextView' для свойства 'notes' управляемого объекта планировщика, который имеет прямую связь с 'selectedFolder'.
Я не уверен, что я уверен, что существует связь между Планировщиком и выбранной папкой при сохранении.
В контроллере View Viewer у меня есть;
class PlannerViewController: UIViewController {
//SelectedFolder is the managed object of the cell row
var selectedFolder: Folder!
var planner: Planner?
@IBOutlet weak var plannerTextField: UITextView!
override func viewDidLoad() {
super.viewDidLoad()
//Load Planner Data in text field here..
}
@IBAction func savePlanner(sender: AnyObject) {
//Save Planner Notes To Folder
//Get the context
let moc = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext
//get entity details
let entity = NSEntityDescription.entityForName("Planner", inManagedObjectContext: moc!)
//Create the managed object to be inserted
let note = Planner(entity: entity!, insertIntoManagedObjectContext: moc!)
//Add current Planner to selectedFolder
selectedFolder.planner = note
//Error
var error: NSError?
if moc!.save(nil){}
//Storing Data
note.notes = plannerTextField.text
moc?.save(&error)
}
}
Возможно, ваша терминология запутана, но у вас должен быть только один управляемый объект * context * - У вас есть несколько управляемых объектов. Предполагая, что 'selectedFolder' является экземпляром вашего управляемого объекта Folder, просто назначьте примечание' selectedFolder.planner = note' – Paulw11
Извините, я понял, когда перечитываю сообщение, сделал некоторые изменения. Хм, я не уверен, как это поможет мне сохранить textfield.text в «примечаниях» в классе «папка». – JUSDEV
Я ничего не вижу о текстовом поле в вашем вопросе, однако предположительно вы сохранили бы текст в атрибуте объекта «Примечание». Строка в моем комментарии показывает, как установить взаимосвязь между папкой и записью, хотя, думая об этом, вы, вероятно, хотите иметь отношение «многие» между папкой и записью с односторонним обратным отношением. Если вы установите это в своей модели, просто присвойте значение 'selectedFolder' атрибуту обратной связи в вашем объекте' Note' будет делать то, что вам нужно – Paulw11