태그: coredata
- This topic has 2개 답변, 2명 참여, and was last updated 4 years, 8 months 전에 by 은지짱.
2 답변 글타래를 보이고 있습니다
-
글쓴이글
-
-
은지짱참가자
- 글작성 : 13
- 답글작성 : 7
TodoList using coredata
coredata 를 사용한 todo list app 을 만들어보자
- Project setting
Use Core Data 를 체크하면
xcdatamodeld
파일이 디렉토리에 생성됨을 확인할 수 있다.- Data Setting
데이터 모델에 원하는 entity 와 attribute, type 을 지정한다
entity 가 하나의 구성 요소, 모델의 역할을 한다.- Save Data
import CoreData
var itemName: [NSManagedObject] = [] // todolist의 coredata 배열
func save(alert: UIAlertAction!){ let appDelegate = UIApplication.shared.delegate as! AppDelegate let context = appDelegate.persistentContainer.viewContext let entity = NSEntityDescription.entity(forEntityName: "Title", in: context)! let theTitle = NSManagedObject(entity: entity, insertInto: context) theTitle.setValue(titleTextField.text, forKey: "title") // attribute do { try context.save() itemName.append(theTitle) } catch { print("There was a error in saving..") } self.tableView.reloadData() }
context
를 통해 간접적으로 접근한다.- Remove Data
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) { if editingStyle == UITableViewCell.EditingStyle.delete { let appDelegate = UIApplication.shared.delegate as! AppDelegate let context = appDelegate.persistentContainer.viewContext context.delete(itemName[indexPath.row]) itemName.remove(at: indexPath.row) do{ try context.save() }catch { print("There was a error in deleting") } } self.tableView.reloadData() }
- Load Data (Fetch)
override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) let appDelegate = UIApplication.shared.delegate as! AppDelegate let context = appDelegate.persistentContainer.viewContext let fetchRequest = NSFetchRequest<NSManagedObject>(entityName: "Title") do { itemName = try context.fetch(fetchRequest) } catch { print("Error in loading data") } }
2020-04-16 오후 9:24 #6849 -
야곰키 마스터
- 글작성 : 37
- 답글작성 : 579
@choieunji0114
대체로 모든 글이 깨져있고, 대부분의 글에 대한 답변에도 본인의 피드백이 없네요.
사이트 사용에 어려움을 겪고 계신가요? 도와드릴 부분이 있을까요?
어려움을 겪고계신 부분이 있다면 피드백 주시면 감사하겠습니다.2020-04-16 오후 11:22 #6865
-
-
글쓴이글
2 답변 글타래를 보이고 있습니다
- 답변은 로그인 후 가능합니다.