From 6984991251cde763e9e857176e7d27f49101ebf2 Mon Sep 17 00:00:00 2001 From: jhammad Date: Mon, 4 Dec 2023 10:47:06 +0000 Subject: [PATCH 01/21] test remote --- .../UserInterfaceState.xcuserstate | Bin 0 -> 12454 bytes .../xcschemes/xcschememanagement.plist | 14 ++++++++++++++ Todoey/ViewController.swift | 2 ++ 3 files changed, 16 insertions(+) create mode 100644 Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 Todoey.xcodeproj/xcuserdata/javierhammad.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate b/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..b3c879d2533e8ad6ca160b32d5eb2fd770190c6d GIT binary patch literal 12454 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 + + + + SchemeUserState + + Todoey.xcscheme_^#shared#^_ + + orderHint + 0 + + + + diff --git a/Todoey/ViewController.swift b/Todoey/ViewController.swift index 4a475a34..ed2d4af9 100644 --- a/Todoey/ViewController.swift +++ b/Todoey/ViewController.swift @@ -18,3 +18,5 @@ class ViewController: UIViewController { } +// checking remote + From dd31ac5af1a6391a24a28c3b4ead15283b53efd9 Mon Sep 17 00:00:00 2001 From: jhammad Date: Mon, 4 Dec 2023 11:00:19 +0000 Subject: [PATCH 02/21] add table cell --- Todoey.xcodeproj/project.pbxproj | 16 +++--- .../UserInterfaceState.xcuserstate | Bin 12454 -> 20798 bytes Todoey/Base.lproj/Main.storyboard | 47 +++++++++++++----- ...ler.swift => TodoListViewController.swift} | 3 +- 4 files changed, 44 insertions(+), 22 deletions(-) rename Todoey/{ViewController.swift => TodoListViewController.swift} (83%) diff --git a/Todoey.xcodeproj/project.pbxproj b/Todoey.xcodeproj/project.pbxproj index 423123ef..9b5f0a80 100644 --- a/Todoey.xcodeproj/project.pbxproj +++ b/Todoey.xcodeproj/project.pbxproj @@ -8,7 +8,7 @@ /* Begin PBXBuildFile section */ EB2BE4FA239524DB00FB933B /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB2BE4F9239524DB00FB933B /* AppDelegate.swift */; }; - EB2BE4FE239524DB00FB933B /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB2BE4FD239524DB00FB933B /* ViewController.swift */; }; + EB2BE4FE239524DB00FB933B /* TodoListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB2BE4FD239524DB00FB933B /* TodoListViewController.swift */; }; EB2BE501239524DB00FB933B /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = EB2BE4FF239524DB00FB933B /* Main.storyboard */; }; EB2BE503239524DC00FB933B /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = EB2BE502239524DC00FB933B /* Assets.xcassets */; }; EB2BE506239524DC00FB933B /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = EB2BE504239524DC00FB933B /* LaunchScreen.storyboard */; }; @@ -17,7 +17,7 @@ /* Begin PBXFileReference section */ EB2BE4F6239524DB00FB933B /* Todoey.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Todoey.app; sourceTree = BUILT_PRODUCTS_DIR; }; EB2BE4F9239524DB00FB933B /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - EB2BE4FD239524DB00FB933B /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + EB2BE4FD239524DB00FB933B /* TodoListViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TodoListViewController.swift; sourceTree = ""; }; EB2BE500239524DB00FB933B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; EB2BE502239524DC00FB933B /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; EB2BE505239524DC00FB933B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; @@ -55,7 +55,7 @@ isa = PBXGroup; children = ( EB2BE4F9239524DB00FB933B /* AppDelegate.swift */, - EB2BE4FD239524DB00FB933B /* ViewController.swift */, + EB2BE4FD239524DB00FB933B /* TodoListViewController.swift */, EB2BE4FF239524DB00FB933B /* Main.storyboard */, EB2BE502239524DC00FB933B /* Assets.xcassets */, EB2BE504239524DC00FB933B /* LaunchScreen.storyboard */, @@ -91,7 +91,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 1120; - LastUpgradeCheck = 1120; + LastUpgradeCheck = 1420; ORGANIZATIONNAME = "App Brewery"; TargetAttributes = { EB2BE4F5239524DB00FB933B = { @@ -135,7 +135,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - EB2BE4FE239524DB00FB933B /* ViewController.swift in Sources */, + EB2BE4FE239524DB00FB933B /* TodoListViewController.swift in Sources */, EB2BE4FA239524DB00FB933B /* AppDelegate.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -188,6 +188,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -248,6 +249,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -287,7 +289,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = "com.londonappbrewery.todoey-ios13.Todoey"; + PRODUCT_BUNDLE_IDENTIFIER = "com.javierhammad.todoey-ios13.Todoey"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -305,7 +307,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = "com.londonappbrewery.todoey-ios13.Todoey"; + PRODUCT_BUNDLE_IDENTIFIER = "com.javierhammad.todoey-ios13.Todoey"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; diff --git a/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate b/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate index b3c879d2533e8ad6ca160b32d5eb2fd770190c6d..4618641e7e6db27978d537faeb33dde65c5e6d63 100644 GIT binary patch literal 20798 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

kkOkgfWDeN^BEbKKD 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 diff --git a/Todoey/Base.lproj/Main.storyboard b/Todoey/Base.lproj/Main.storyboard index 25a76385..8a5b9139 100644 --- a/Todoey/Base.lproj/Main.storyboard +++ b/Todoey/Base.lproj/Main.storyboard @@ -1,24 +1,45 @@ - + + - - + + + - - + + - - - + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Todoey/ViewController.swift b/Todoey/TodoListViewController.swift similarity index 83% rename from Todoey/ViewController.swift rename to Todoey/TodoListViewController.swift index ed2d4af9..6389fb72 100644 --- a/Todoey/ViewController.swift +++ b/Todoey/TodoListViewController.swift @@ -8,7 +8,7 @@ import UIKit -class ViewController: UIViewController { +class TodoListViewController: UITableViewController { override func viewDidLoad() { super.viewDidLoad() @@ -18,5 +18,4 @@ class ViewController: UIViewController { } -// checking remote From e2d439e00fb73351cc08560a0b7657e40427ec7a Mon Sep 17 00:00:00 2001 From: jhammad Date: Mon, 4 Dec 2023 12:51:42 +0000 Subject: [PATCH 03/21] Set table view --- .../UserInterfaceState.xcuserstate | Bin 20798 -> 23921 bytes Todoey/Base.lproj/Main.storyboard | 39 ++++++++++++++++-- Todoey/TodoListViewController.swift | 33 +++++++++++---- 3 files changed, 60 insertions(+), 12 deletions(-) diff --git a/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate b/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate index 4618641e7e6db27978d537faeb33dde65c5e6d63..ca877200aced55ac368515c89e690896bc96dd63 100644 GIT binary patch delta 13453 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 E0cv)XG5`Po delta 10543 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 ayZX3_T_qKV%LwDj|2`3w|EoS-zx^L4d(sgA diff --git a/Todoey/Base.lproj/Main.storyboard b/Todoey/Base.lproj/Main.storyboard index 8a5b9139..9b1db4d6 100644 --- a/Todoey/Base.lproj/Main.storyboard +++ b/Todoey/Base.lproj/Main.storyboard @@ -1,5 +1,5 @@ - + @@ -8,7 +8,7 @@ - + @@ -31,15 +31,48 @@ + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Todoey/TodoListViewController.swift b/Todoey/TodoListViewController.swift index 6389fb72..d06058ea 100644 --- a/Todoey/TodoListViewController.swift +++ b/Todoey/TodoListViewController.swift @@ -1,20 +1,35 @@ -// -// ViewController.swift -// Todoey -// -// Created by Philipp Muellauer on 02/12/2019. -// Copyright © 2019 App Brewery. All rights reserved. -// - import UIKit class TodoListViewController: UITableViewController { + + let itemArray = [ "Find hope" , "Buy thingys" , "Survive" ] override func viewDidLoad() { super.viewDidLoad() - // Do any additional setup after loading the view. + + } + + // MARK: - Tableview Datasource Methods + + // This method is called to determine the number of rows in the specified section. + override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + // The number of rows is equal to the count of items in the itemArray. + return itemArray.count } + // This method is called to provide a cell for a specific row. + override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + // Dequeue a reusable cell with the identifier "ToDoItemCell" for the specified indexPath. + let cell = tableView.dequeueReusableCell(withIdentifier: "ToDoItemCell", for: indexPath) + + // Set the text label of the cell to the corresponding item in the itemArray. + cell.textLabel?.text = itemArray[indexPath.row] + + // Return the configured cell. + return cell + } + + } From 1baad619a35a217ae0e73c1bbc9fd808eb3a5cdb Mon Sep 17 00:00:00 2001 From: jhammad Date: Mon, 4 Dec 2023 20:05:29 +0000 Subject: [PATCH 04/21] Add delegate to add checkmarks and animations to the Table View --- .../UserInterfaceState.xcuserstate | Bin 23921 -> 25410 bytes Todoey/Base.lproj/Main.storyboard | 6 +++ Todoey/TodoListViewController.swift | 37 +++++++++++++++--- 3 files changed, 38 insertions(+), 5 deletions(-) diff --git a/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate b/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate index ca877200aced55ac368515c89e690896bc96dd63..3a7960d5c6cd8c6cded79e7c3a1e28bbb23bf15e 100644 GIT binary patch delta 12512 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 BO0WO` delta 11574 zcmb7q30zah_J3yX-0PM=SOQ@Q31LYHSqWFj%5FsimpnzJdHh0{s*6pfw zsSDszwbi=Rs+Q|sk?Qn)>@bUgoth5>-)d=Gaqtq=FXg%Ip=)OIp4YN zJpk_Q1hY#)^ql^OJ$BF;^aG_}AgBZZpbFH0kzf=U1IB_kz(gOH`oI{1AD>eU?12I4uG$~5pWcI4}Jg_z(sHgTme_XHEnLkBE?ZDBiD1dCy3 z*d6wOePCZ$0!P4+a1?wEj)t$pF>ov#2j75G;9GDeoCD{<`EVgz1mA&6;R;v}SHe|r zEnEjTz>V+&xCw59AHnT#2iyrig?r)G&~p_20MEf6;YD}_-hemZ9g3zHss+`OYDKlC z+E9E-K>1OjR5%quMNv{pPQ_61l!8)GiIkSoQAR46N~ba?6J@5XR1RgMoKzm=qPkPP zsXkOGRZh97K~x1*NmWrb)JW=eID;BPO`s-HZ&LHA1s>{cY9Y0VT1Bm<)==+KYpIRY z2h=v|BWf3QfckK^q6^^|&sL?{G>A~6a>;V1${ zA_BO81+GYQ8^lfDo`z|L!J?6BzhgO2%|UA zG&CK}KyRVBh(m9qdbA3yM(faev>zQnU!a5NOY{}`8hwKfp>NS)^c^~m&Y%nEBD#TY zqF>Ns^gDWj{y*&{Lmd5m3^n7{&{Q4azWP+GrCX^8~ z5lkc_Wn@eYOe4lgVT;U6`&+H>Nw&gXziiVtO-un7&L2(~l`- z`ZHxrIpbyqFf~jqQ^$;8Mlz$A*O<|ahk28k#!P2sFmEw4nT5t7ebb1 zgN3{RaAl)Vl%PsfYqUCjT6(s#eW9yk_Z~g_^y9j<%m89;PRpQ(LS8Aaf>*`U@@jc? zylP$zZ#1tzxt8*3xSK6|nNm`_#+D5&t*z}os-mjAdQ^eEL>N5GT~k|8Tj#E-D<~&l z6$2{VHEb)PfNj~e#8qrEq#n&MnYr)Uh`N^uqg=%uUUlzM;HWCAE_auAau0CVxU0(C z4d$%wuHvHpgWY9y$1GMuPOhVyt5`e4J-W6hxmGtlsI9lLZR+i;KO1x`FW*qmwjEd7 z%0Tm30qe)DZIvR;Fco#^>nbiTt8u%l+Lw;59#Pj&ly$sQv7vL9n6BNp@Yen405*^n za-P2t{L6Gy0oTT2)RIEE{Nv33Z)=s%SfRc1_|%=A2yU2Sg$`0 zAcbhAg@C&gX!5KeqKM3?Yb*^dTQ{_774ve5yoNUX80&D~uNdp1?M-*}enME)R z)(Uwo10u9p?b>(g-m84zu+fS!?4((97wz=T1DX{iYF@?5>#i*?f)b!Wh(Qbn85o!_ zFmFi-c?6h?Y<~>=IfJ+Y@VF)7Fb0^}0c<6=Q=Fv9Z2&pI#tvjRvbEm>2XKNskk9i6 z1)wcx2ik)|-~vUU1Lz1kfnrV)_EFRZ_I-8?`^HJo1#|`7NZ0P52j~fUf!?4G=*!&? z+bHc1avMPzCk`>FVHTL(i;QdR z2A*m?Xap<4DzF-?0q=sfU>#Tw-UIJ*XC>lJ6+35uH-p@>S zKD&TuLBKBBB8hqfSiS(c_23{ogRMQv^COdg4RTk4Z-}HVt}Mjhh`nw}p6 zCwL+C;5a+09-L%nbC&G*cyJn=gb@_8?@J6A$uj0Mf7}nFcbj z1-pW+Z-A{}Yqo)HAeIvPS-HCYhGLj_kQ52KX4Y;q0t{2L6Q3MN7|)PN392lddv{=|O5?q)w=H?SAj zUF@fSg90?dWFHiW0d}&R*ir23Yz5oRw;vNR4>ZF}m<6-h&Foh8BX;{Mbif?1mow}Z zubXpA6=4A{-5)w(9s$OO>^81Lj5z1tz|!2ULla7Nc!$5jPZKU+7cVZ@kJ*tduSD37 z`yj%}b?6)(bPT+5SlET-v18efxyab+!hUctPqh}7!v3%fmP0oj00+WBu!7yge#Y)) zKWF!```H8R7wo~ca0qw|D`6E$48urjsNu!3UlN<1V!vm9V9&5;*>l|Yu}AVeAa^xn zNzND#C%}nt68jZ=}_-&?J##)Md?uX zYxWx<#Vv@JDtu;}1!t3#*|l`&2zLXVMMA(!8FRfd*l*cyxC8Og{yw=2n%cf2ZI9w* zo|hdLH#Ht*zbO$$jv1p#PfkQ!jqrCmo zlDz%XlD+*6hBSjVtgfJVTnXX@ta>{%=#fbnew~4JT8?cU$ju`}f$>Y;DhW z`f5!^M@_e3gJLY-`4HE4OolPTJDVmgU7Iq_=UJOUZUfu`x3WL7=gF|P&SFj7K+WhO zBYPTMHce%LrfhgyuTOdUx=Ke@3~UO8GFxelZ}i8!!}V|%dx^Cjg}aF<_Q20dgyOOh zHKbapbCg$*yqQljBgvixb?!>`G6sJC43quvz~5l<3;XlmVd8q3GT=Ax&?}tWX0QAm zC&#=vISx<2lkgOKmA%g1U~m43lhaLpeytfMo@W1l1rxTaIdS|Yr8M`t+BEvs{~smI z;pQ%U;zhzecppB1zru&`5&R84hQG6S*t_gK_CEW7{Z+?4WFN7=t%ZLOC_IDD;R}jK z0SXc*JZ6_-Kx4pQ&;o;27_`Qq4FSY=Nt8c91SO;bs6Z-+3Z_Kt@9ZD!Gxh}rB#Tk6 zFhPl%oahPh-3875Ohq=eJ^ibXQ?jPE=YR8YD%RVG0k7Ew|C^IjO5XtZzk4~Q_6OytJAP@r) z2B8>)VGw~qBnA?1;`OI`P(7($B|>3=toJ~?7#eOmRQy_JmfE6ZhqnuEbiH@e1N95oo2w`;+Nh{4fc9B2H{@!E)j#406G%=C@QY#h{{!rJo!ad3xC4ChcwVijkf!aas#2^WSG}iVqvQVE;pYcK( zsZXih)E*3s7$jqm(nw9`DXD#A8*DfRscd{7BK1$U+1vYzTb`Wgp}wXL|I_dpWcX2{ z0`Ks2Ha^BWcUV)>XrA>Xb&982v4YhIdCg5{sB?er=0^-NS&a_?7rZOKNL|7p3j^z) zE5AbB@ch%?7ywzKK1CI1pGz>{Ek76SAdO;FA@3^ z5q5X~5d#OhYjSGbr7_mtdzu7!niu~Zwc@GPQ7;e=0R$0+5TX%-TA-E~*fDTm;KU#g zgM17MFd)v?4ukd>6s|+9Q5(cZ0-h52BOwYvfrz-M3xhrw+{EA)vIfY*kbFmAD8Vqw z%Q^!(ji}14uBvl$d8v=%WGI&G0!1S^B9yBLgAN#UY(#M=9w{*BgaL^dJ-PC<86FMN z5fvjX2F3MAk3nZv^RhrYijsN$C3>~CrJG=5=KbLXV^c8b(gY8bjxxFueoh!; z14<`#j;~fgW|ZZXnTbKSdPJgO_djJ4i8ey1?LEBZ6TxFkZy@SXA~bW__OYBaL!9p= zPsoY#h>Bgsg(K=p`ww;dB32`5&gW&5(+S`2=IPp^_TK4;`g+wP5;1#w_0cRa%5saAVramiFZ%}jX(Q@^dZJz!lwdF%gKt<3_oFgLiAqqZ zcanY>^s7gNwDxB;e<@MXKyQhPK`94Roixqj2cs&l_#tR0A_ylTvm66=BdSKj5D`59 zgKA8urX|71-OK3TcNEDu=rs%mvbD$27{VAy6hmXtI5ZG>depjylDd;{L<}l07(`~m zpvt?Y2ScZQI;MHT@n{lH)qp0Ti5LvVU`PX+jHY03(5>WFnUZ|00?kCTxQ(i42F*r< zHvSzsA)6?uVX-#LexGEgEuhnV8CL4*P|UiqKZBNTX{+^QAK;v z=Y)Tg$VomJOe9p*n}x{jn;5)9+=Y`z9pdsF{kWT&1nz8>JO>@|T7!hE2`}j@Izj5b zf2Xg_D?W>UB;*yH!(dW9I*-9*FMSP1m(UeL3DIS627@W=oCa_nU1R5AFqQLUhZxbV zCd%3@;|_Y@b(g#79=eagGz_L=FoSSW^bkGr7He-|Fq5#+VjX(sUEFgFW|3OVhdCP1 zh|EMon!;c<26Gx{nkJ>)TnsouKr{3-pAH}llorr_v_DObV#q4yW3T{&w^!1EbPyd( zlloyH28%FQjKLCamt{wojE-p{&a|9;8-t|{=o%nl^CqTU^ND7n#}a>dOFo-Cfd|&CfY(sDmc)aotN>(H)7c=uW)H-aic1 zv)!7$$YDcBv$}fFy@=WJv#h~%6U_h3ZuBsExYur*G1$UtUU8(R3`UReu9*O5>z^hZ9Z8S< z7aNYFiC=$+!8SIY%ZZNZOpm9h{9mld#y2l=COyYz%Gq91ZvV^He71a>ZuHu6A-#xR zOfR9|p_kIj=;ibZVoPGbofv$K!7dCw!QfL2c4M#ygU>M7+hohn*VEqWgna0C|64d<$=H1@~i)3%Ut?nuU^PR`fAFc}d#^ga{+H(-`aFGsgnOuGch%DuF*rnG+e@JROy422i@ri% zrLWP~=^OM-`WAhg{sn_?F*uCDcNiSOfJBaC7#zpo1O_M9(s#jQ`ab=D{*``6Kcau* z#bR*E>l&9a_!)yM7+l5R8V1*ix`>zibLV5fOk)tCVGPYMObezZ(~4=0!S@)P#^5Xl zKVt9`1{YsZF-G8HIzRZhn6T+=feG+6p7D{fmyIG{ z{O@dxiS`Y-)I7(3Wn)Yn6VF)-;`^wGQ&7D~rOwvAg3&)6H86TF11n>aFbKim24P@- zo-n+$ACt=^$zw=$b_avI z7~I3)J_Zjk_!WbP7(Bw@Hw+%H<0+YTB+0}wE~bd-z;t9fF~!~@@pqD8NPc;O!5


nZ!(HDlrsb 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 diff --git a/Todoey/Base.lproj/Main.storyboard b/Todoey/Base.lproj/Main.storyboard index 9b1db4d6..144d3f77 100644 --- a/Todoey/Base.lproj/Main.storyboard +++ b/Todoey/Base.lproj/Main.storyboard @@ -50,12 +50,18 @@ + + + + + + diff --git a/Todoey/TodoListViewController.swift b/Todoey/TodoListViewController.swift index d06058ea..f57ec97c 100644 --- a/Todoey/TodoListViewController.swift +++ b/Todoey/TodoListViewController.swift @@ -3,7 +3,7 @@ import UIKit class TodoListViewController: UITableViewController { let itemArray = [ "Find hope" , "Buy thingys" , "Survive" ] - + override func viewDidLoad() { super.viewDidLoad() @@ -16,7 +16,7 @@ class TodoListViewController: UITableViewController { // The number of rows is equal to the count of items in the itemArray. return itemArray.count } - + // This method is called to provide a cell for a specific row. override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { // Dequeue a reusable cell with the identifier "ToDoItemCell" for the specified indexPath. @@ -28,9 +28,36 @@ class TodoListViewController: UITableViewController { // Return the configured cell. return cell } - - - + + // MARK: - TableView Delegate Methods + + // This method is called when a cell is selected + override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { + // Get the selected item from the array + let selectedItem = itemArray[indexPath.row] + + // You can perform any action you want with the selected item + print("Selected Item: \(selectedItem)") + + // Get the selected cell + if let cell = tableView.cellForRow(at: indexPath) { + // Toggle the checkmark accessory type for the selected UITableViewCell. + // If the current accessory type is .checkmark, it sets it to .none; otherwise, it sets it to .checkmark. + // - The ternary operator (a ? b : c) is used here. If the condition (cell.accessoryType == .checkmark) is true, + // the value after the '?' (i.e., .none) is assigned; otherwise, the value after the ':' (i.e., .checkmark) is assigned. + + cell.accessoryType = (cell.accessoryType == .checkmark) ? .none : .checkmark + } + + // Animation when the row is clicked + tableView.deselectRow(at: indexPath, animated: true) + + + } + + + + } From acdb9f7b8b5968ea0f5a8dcca1adbf2e37363473 Mon Sep 17 00:00:00 2001 From: jhammad Date: Tue, 5 Dec 2023 10:45:42 +0000 Subject: [PATCH 05/21] Add method to update the table view with new items --- .../UserInterfaceState.xcuserstate | Bin 25410 -> 30876 bytes Todoey/AppDelegate.swift | 6 +++- Todoey/Base.lproj/Main.storyboard | 17 ++++++--- Todoey/TodoListViewController.swift | 33 +++++++++++++++--- 4 files changed, 45 insertions(+), 11 deletions(-) diff --git a/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate b/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate index 3a7960d5c6cd8c6cded79e7c3a1e28bbb23bf15e..abae502807746237459e38f29152a750d70d5cd8 100644 GIT binary patch delta 17238 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 Bool { // Override point for customization after application launch. + print("didFinishLaunchingWithOptions") return true } @@ -26,7 +27,9 @@ class AppDelegate: UIResponder, UIApplicationDelegate { func applicationDidEnterBackground(_ application: UIApplication) { // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. - // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. + // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.\\ + print("applicationDidEnterBackground") + } func applicationWillEnterForeground(_ application: UIApplication) { @@ -39,6 +42,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate { func applicationWillTerminate(_ application: UIApplication) { // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. + print("applicationWillTerminate") } diff --git a/Todoey/Base.lproj/Main.storyboard b/Todoey/Base.lproj/Main.storyboard index 144d3f77..c467a8f8 100644 --- a/Todoey/Base.lproj/Main.storyboard +++ b/Todoey/Base.lproj/Main.storyboard @@ -31,7 +31,14 @@ - + + + + + + + + @@ -48,7 +55,7 @@ - + @@ -59,9 +66,6 @@ - - - @@ -74,6 +78,9 @@ + + + diff --git a/Todoey/TodoListViewController.swift b/Todoey/TodoListViewController.swift index f57ec97c..88d52f3a 100644 --- a/Todoey/TodoListViewController.swift +++ b/Todoey/TodoListViewController.swift @@ -2,7 +2,7 @@ import UIKit class TodoListViewController: UITableViewController { - let itemArray = [ "Find hope" , "Buy thingys" , "Survive" ] + var itemArray = [ "Find hope" , "Buy thingys" , "Survive" ] override func viewDidLoad() { super.viewDidLoad() @@ -37,7 +37,7 @@ class TodoListViewController: UITableViewController { let selectedItem = itemArray[indexPath.row] // You can perform any action you want with the selected item - print("Selected Item: \(selectedItem)") + // print("Selected Item: \(selectedItem)") // Get the selected cell if let cell = tableView.cellForRow(at: indexPath) { @@ -45,7 +45,7 @@ class TodoListViewController: UITableViewController { // If the current accessory type is .checkmark, it sets it to .none; otherwise, it sets it to .checkmark. // - The ternary operator (a ? b : c) is used here. If the condition (cell.accessoryType == .checkmark) is true, // the value after the '?' (i.e., .none) is assigned; otherwise, the value after the ':' (i.e., .checkmark) is assigned. - + cell.accessoryType = (cell.accessoryType == .checkmark) ? .none : .checkmark } @@ -55,9 +55,32 @@ class TodoListViewController: UITableViewController { } + // MARK: - Add New Item - - + @IBAction func addButtonPressed(_ sender: UIBarButtonItem) { + let alert = UIAlertController(title: "Add New Todoey Item", message: "", preferredStyle: .alert) + + // Declare a variable to capture the text field + var textField: UITextField? + + let action = UIAlertAction(title: "Add item", style: .default) { (action) in + // Use the captured text field to access the entered text and add it to the array + self.itemArray.append(textField!.text!) + //reload the table with the new entry + self.tableView.reloadData() + } + + // Capture the textfield when it's added + alert.addTextField { (alertTextField) in + // Set a placeholder text for the text field + alertTextField.placeholder = "Create new item" + // Capture the reference to the text field for later use + textField = alertTextField + } + + alert.addAction(action) + present(alert, animated: true, completion: nil) + } } From 9735c41c131e99920c22702da72718a2dab33d4d Mon Sep 17 00:00:00 2001 From: jhammad Date: Tue, 5 Dec 2023 11:12:22 +0000 Subject: [PATCH 06/21] Add defaults to store user info --- .../UserInterfaceState.xcuserstate | Bin 30876 -> 27825 bytes Todoey/AppDelegate.swift | 3 +++ Todoey/TodoListViewController.swift | 14 ++++++++++++++ 3 files changed, 17 insertions(+) diff --git a/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate b/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate index abae502807746237459e38f29152a750d70d5cd8..9265e4d3b90a9432a306e8eb34a1303884770f15 100644 GIT binary patch delta 11055 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 delta 12859 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 diff --git a/Todoey/AppDelegate.swift b/Todoey/AppDelegate.swift index a7bbd6d5..c6bedf48 100644 --- a/Todoey/AppDelegate.swift +++ b/Todoey/AppDelegate.swift @@ -17,6 +17,9 @@ class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. print("didFinishLaunchingWithOptions") + + // print the directory of the simulator tp check that the info was stored + print(NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).last! as String) return true } diff --git a/Todoey/TodoListViewController.swift b/Todoey/TodoListViewController.swift index 88d52f3a..37d48b0c 100644 --- a/Todoey/TodoListViewController.swift +++ b/Todoey/TodoListViewController.swift @@ -4,9 +4,17 @@ class TodoListViewController: UITableViewController { var itemArray = [ "Find hope" , "Buy thingys" , "Survive" ] + // var to keep the data entered by the user + let defaults = UserDefaults.standard + override func viewDidLoad() { super.viewDidLoad() + // get the items for the stored otems in let defaults (if there are any) + if let items = defaults.array(forKey: "TodoListAray") as? [String] { + itemArray = items + } + } // MARK: - Tableview Datasource Methods @@ -59,13 +67,19 @@ class TodoListViewController: UITableViewController { @IBAction func addButtonPressed(_ sender: UIBarButtonItem) { let alert = UIAlertController(title: "Add New Todoey Item", message: "", preferredStyle: .alert) + // Declare a variable to capture the text field var textField: UITextField? let action = UIAlertAction(title: "Add item", style: .default) { (action) in + // Use the captured text field to access the entered text and add it to the array self.itemArray.append(textField!.text!) + + // keep the data entered by the user + self.defaults.set(self.itemArray, forKey: "TodoListAray") + //reload the table with the new entry self.tableView.reloadData() } From cba701231e35d4b97a808f6cd0c9f7d72ef051e6 Mon Sep 17 00:00:00 2001 From: jhammad Date: Tue, 5 Dec 2023 18:40:20 +0000 Subject: [PATCH 07/21] Create model for the elements of the list --- Todoey.xcodeproj/project.pbxproj | 42 +++++++++- .../UserInterfaceState.xcuserstate | Bin 27825 -> 34702 bytes .../TodoListViewController.swift | 75 +++++++++++++++--- Todoey/Models/Items.swift | 10 +++ .../AppIcon.appiconset/Contents.json | 0 .../Assets.xcassets/Contents.json | 0 .../Base.lproj/LaunchScreen.storyboard | 0 Todoey/{ => Views}/Base.lproj/Main.storyboard | 0 8 files changed, 111 insertions(+), 16 deletions(-) rename Todoey/{ => Controller}/TodoListViewController.swift (61%) create mode 100644 Todoey/Models/Items.swift rename Todoey/{ => Supporting Files}/Assets.xcassets/AppIcon.appiconset/Contents.json (100%) rename Todoey/{ => Supporting Files}/Assets.xcassets/Contents.json (100%) rename Todoey/{ => Supporting Files}/Base.lproj/LaunchScreen.storyboard (100%) rename Todoey/{ => Views}/Base.lproj/Main.storyboard (100%) diff --git a/Todoey.xcodeproj/project.pbxproj b/Todoey.xcodeproj/project.pbxproj index 9b5f0a80..8b2543c6 100644 --- a/Todoey.xcodeproj/project.pbxproj +++ b/Todoey.xcodeproj/project.pbxproj @@ -12,6 +12,7 @@ EB2BE501239524DB00FB933B /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = EB2BE4FF239524DB00FB933B /* Main.storyboard */; }; EB2BE503239524DC00FB933B /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = EB2BE502239524DC00FB933B /* Assets.xcassets */; }; EB2BE506239524DC00FB933B /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = EB2BE504239524DC00FB933B /* LaunchScreen.storyboard */; }; + F6AD32A92B1F9B7F00396DBF /* Items.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6AD32A82B1F9B7F00396DBF /* Items.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -22,6 +23,7 @@ EB2BE502239524DC00FB933B /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; EB2BE505239524DC00FB933B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; EB2BE507239524DC00FB933B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + F6AD32A82B1F9B7F00396DBF /* Items.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Items.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -55,13 +57,46 @@ isa = PBXGroup; children = ( EB2BE4F9239524DB00FB933B /* AppDelegate.swift */, + F6AD32A72B1F9B5600396DBF /* Models */, + F6AD32AA2B1F9BC100396DBF /* Views */, + F6AD32A62B1F9B4900396DBF /* Controller */, + F6AD32AB2B1F9C4600396DBF /* Supporting Files */, + EB2BE507239524DC00FB933B /* Info.plist */, + ); + path = Todoey; + sourceTree = ""; + }; + F6AD32A62B1F9B4900396DBF /* Controller */ = { + isa = PBXGroup; + children = ( EB2BE4FD239524DB00FB933B /* TodoListViewController.swift */, + ); + path = Controller; + sourceTree = ""; + }; + F6AD32A72B1F9B5600396DBF /* Models */ = { + isa = PBXGroup; + children = ( + F6AD32A82B1F9B7F00396DBF /* Items.swift */, + ); + path = Models; + sourceTree = ""; + }; + F6AD32AA2B1F9BC100396DBF /* Views */ = { + isa = PBXGroup; + children = ( EB2BE4FF239524DB00FB933B /* Main.storyboard */, - EB2BE502239524DC00FB933B /* Assets.xcassets */, + ); + path = Views; + sourceTree = ""; + }; + F6AD32AB2B1F9C4600396DBF /* Supporting Files */ = { + isa = PBXGroup; + children = ( EB2BE504239524DC00FB933B /* LaunchScreen.storyboard */, - EB2BE507239524DC00FB933B /* Info.plist */, + EB2BE502239524DC00FB933B /* Assets.xcassets */, ); - path = Todoey; + path = "Supporting Files"; sourceTree = ""; }; /* End PBXGroup section */ @@ -136,6 +171,7 @@ buildActionMask = 2147483647; files = ( EB2BE4FE239524DB00FB933B /* TodoListViewController.swift in Sources */, + F6AD32A92B1F9B7F00396DBF /* Items.swift in Sources */, EB2BE4FA239524DB00FB933B /* AppDelegate.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate b/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate index 9265e4d3b90a9432a306e8eb34a1303884770f15..97a6df76b494a7e11391101323054623c48a70ff 100644 GIT binary patch delta 17564 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 delta 12275 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 EKmPf4AOHXW diff --git a/Todoey/TodoListViewController.swift b/Todoey/Controller/TodoListViewController.swift similarity index 61% rename from Todoey/TodoListViewController.swift rename to Todoey/Controller/TodoListViewController.swift index 37d48b0c..f98aee92 100644 --- a/Todoey/TodoListViewController.swift +++ b/Todoey/Controller/TodoListViewController.swift @@ -2,7 +2,7 @@ import UIKit class TodoListViewController: UITableViewController { - var itemArray = [ "Find hope" , "Buy thingys" , "Survive" ] + var itemArray = [Items]() // var to keep the data entered by the user let defaults = UserDefaults.standard @@ -10,10 +10,47 @@ class TodoListViewController: UITableViewController { override func viewDidLoad() { super.viewDidLoad() - // get the items for the stored otems in let defaults (if there are any) - if let items = defaults.array(forKey: "TodoListAray") as? [String] { - itemArray = items - } + let newItem = Items() + newItem.title = "Find hope" + itemArray.append(newItem) + + let newItem2 = Items() + newItem2.title = "Save the world" + itemArray.append(newItem2) + + let newItem3 = Items() + newItem3.title = "Buy peanuts" + itemArray.append(newItem3) + itemArray.append(newItem3) + itemArray.append(newItem3) + itemArray.append(newItem3) + itemArray.append(newItem3) + itemArray.append(newItem3) + itemArray.append(newItem3) + itemArray.append(newItem3) + itemArray.append(newItem3) + itemArray.append(newItem3) + itemArray.append(newItem3) + itemArray.append(newItem3) + itemArray.append(newItem3) + itemArray.append(newItem3) + itemArray.append(newItem3) + itemArray.append(newItem3) + itemArray.append(newItem3) + itemArray.append(newItem3) + itemArray.append(newItem3) + itemArray.append(newItem3) + itemArray.append(newItem3) + itemArray.append(newItem3) + itemArray.append(newItem3) + itemArray.append(newItem3) + itemArray.append(newItem3) + itemArray.append(newItem3) + itemArray.append(newItem3) + itemArray.append(newItem3) + + + } @@ -30,8 +67,15 @@ class TodoListViewController: UITableViewController { // Dequeue a reusable cell with the identifier "ToDoItemCell" for the specified indexPath. let cell = tableView.dequeueReusableCell(withIdentifier: "ToDoItemCell", for: indexPath) - // Set the text label of the cell to the corresponding item in the itemArray. - cell.textLabel?.text = itemArray[indexPath.row] + // define current item + let item = itemArray[indexPath.row] + + // Set the text label of the cell to the corresponding item in the itemArray defined above + cell.textLabel?.text = item.title + + // terniary operator to change the done + cell.accessoryType = (cell.accessoryType == .checkmark) ? .none : .checkmark + // Return the configured cell. return cell @@ -41,12 +85,12 @@ class TodoListViewController: UITableViewController { // This method is called when a cell is selected override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { - // Get the selected item from the array - let selectedItem = itemArray[indexPath.row] - // You can perform any action you want with the selected item - // print("Selected Item: \(selectedItem)") + // toggling the 'done' property of the itemArray with swift terniary operator + itemArray[indexPath.row].done = !itemArray[indexPath.row].done + + // Get the selected cell if let cell = tableView.cellForRow(at: indexPath) { // Toggle the checkmark accessory type for the selected UITableViewCell. @@ -54,7 +98,6 @@ class TodoListViewController: UITableViewController { // - The ternary operator (a ? b : c) is used here. If the condition (cell.accessoryType == .checkmark) is true, // the value after the '?' (i.e., .none) is assigned; otherwise, the value after the ':' (i.e., .checkmark) is assigned. - cell.accessoryType = (cell.accessoryType == .checkmark) ? .none : .checkmark } // Animation when the row is clicked @@ -74,8 +117,14 @@ class TodoListViewController: UITableViewController { let action = UIAlertAction(title: "Add item", style: .default) { (action) in + // create new item + let newItem = Items() + + // create the title for the new file + newItem.title = textField!.text! + // Use the captured text field to access the entered text and add it to the array - self.itemArray.append(textField!.text!) + self.itemArray.append(newItem) // keep the data entered by the user self.defaults.set(self.itemArray, forKey: "TodoListAray") diff --git a/Todoey/Models/Items.swift b/Todoey/Models/Items.swift new file mode 100644 index 00000000..f1355ede --- /dev/null +++ b/Todoey/Models/Items.swift @@ -0,0 +1,10 @@ +import Foundation + +class Items { + // Properties + var title: String = "" + var done: Bool = false + +} + + diff --git a/Todoey/Assets.xcassets/AppIcon.appiconset/Contents.json b/Todoey/Supporting Files/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from Todoey/Assets.xcassets/AppIcon.appiconset/Contents.json rename to Todoey/Supporting Files/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/Todoey/Assets.xcassets/Contents.json b/Todoey/Supporting Files/Assets.xcassets/Contents.json similarity index 100% rename from Todoey/Assets.xcassets/Contents.json rename to Todoey/Supporting Files/Assets.xcassets/Contents.json diff --git a/Todoey/Base.lproj/LaunchScreen.storyboard b/Todoey/Supporting Files/Base.lproj/LaunchScreen.storyboard similarity index 100% rename from Todoey/Base.lproj/LaunchScreen.storyboard rename to Todoey/Supporting Files/Base.lproj/LaunchScreen.storyboard diff --git a/Todoey/Base.lproj/Main.storyboard b/Todoey/Views/Base.lproj/Main.storyboard similarity index 100% rename from Todoey/Base.lproj/Main.storyboard rename to Todoey/Views/Base.lproj/Main.storyboard From 7323e0e0bc05b34d168632ab3164a6050765a600 Mon Sep 17 00:00:00 2001 From: jhammad Date: Wed, 6 Dec 2023 10:08:32 +0000 Subject: [PATCH 08/21] Add check status to the elements of the table --- .../UserInterfaceState.xcuserstate | Bin 34702 -> 34161 bytes .../Controller/TodoListViewController.swift | 54 +++--------------- 2 files changed, 9 insertions(+), 45 deletions(-) diff --git a/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate b/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate index 97a6df76b494a7e11391101323054623c48a70ff..008848e10739150164f7993e8ffd8cf0b3fafbe1 100644 GIT binary patch delta 16214 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 bWauwLe;svoT@>mz{$Yio@VgAPE{=3Z+o2NLxI3 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
l5G;=o9P{>J#si2E9&8OXGsZW>BGM^Pb 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 delta 20248 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 Date: Wed, 13 Dec 2023 10:49:40 +0000 Subject: [PATCH 15/21] Read data from CoreData --- .../UserInterfaceState.xcuserstate | Bin 48667 -> 49357 bytes .../Controller/TodoListViewController.swift | 31 +++++++++--------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate b/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate index 6b0508dc4b96f34a7e9afd0e964a2632cb866f08..e7eb90abd977c011210bc8c222da1d0ac36d710e 100644 GIT binary patch delta 23306 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 delta 23486 zcmb5W2V7Lg_XoN&bN9BrD@&0kAS%5V0qKGuy$FId>5FubA`)Zvjy=Y{c4Gm1Ni?y= z5?j>RV>I?|>_(%p$CNjB7mV?j|NFcb++{ga?tIUjKC?NF(SkqVv?Aa>y?8J)SGGX5 zNY*y}puYyl01X6S1dM?R=nA@l?!Xp!08iirynzq!1-*eE@CT8gABY0cpg)KQ319$7 z1DRkD7y`;c1*im7pc>SGR`3xR0X_yJ0S2SMI4~Ye1fPLPU^18o=7R;`bFdIB0?WX1 zuo|oZYr$9GYoOTPvGiVMipe5`Et)Mk@gig>Ix*64t^x z*bIlkkKiXz14qO0aIywYgVW&*xCX9;>);pgOSm3xfM3C{;YPR#egk*IJ#a7l9v*@x z;g9eXJPm(>XW$ih6<&ka;Vt+GK8JrG83IU-XvBjzNP!HHF)~5s$O2g-8`K^7A%7Hr z`k+7*go05B3PoWk62+qgl!!D*XaE|7vQRb}jEYbdszx=a7S*A8G!!+X5lDkZqw#1m znu6w|1?Y3M5G_J0&`PuleSyA0yU`xB7wtpeq5bF(I);v;AJHjv4xL9A&{cE|T}SuO z1N0ibLBFH7=x+*948>AiC<97G8B%7HxrVZ!EU9i(FUp(pp?s;{R39pY>PtmX{izr# zmP(?MsT3-UDxlO<1yxDaQVmoi)j|!YKBi_;v#8nB9BM8#kD5;{pgyM-Qj4f|YBjZn zT1$OJeNAnrc2GO1Z>e3>LF#+z5cMNDfNPSNxh=pQh&=? zxq;kNZYj5s_mn%x9p$d_e)1@Jw7kDOMjk7VlgG;w_(WDLs+?jGjbKrl-(T={fWQ`g8hg zdLzAw-b`phhU}iIOG|XIP9%ejxooX6U-0H8Rjf=nYqF|WPV{DF^`$wn3v4&%v%<)kVP!T@~natSS8z) zwP0=7?yN1_i*;nZSs&Jy4Pb-Wa5kFl&!(~I>_9ey9n4m-)ocx0%Qmo@VeCij2v%e< zJB}UCPGG08i`d2N61I(9&aP&^V83KHv76Z~>{j+$b{D&w-NWu>53}dk^XvuoB72p+ z$=+e_vcIs8*vITM_Bs24{gVS6%F;CgbsI6KasbKqP#FV36m%>{6M zxIivc!-a9-TwgAVi{^5%W&Q)>MTpd@>HF8Z{3pbn_!F|k$9OlMyTJdMXF+eB2AI57^uil zWGf04MT%lYxuQZbRMDVlRE$u3teCBsqnN9hrM#dXCE#ZAS}id%}?iaUx2il>TKir0cn00I7=K`oRCLxggnLZ}p~ zgleHiXck&E!bid@KSgs{H>HJff6bir9vqvjg-bp6Q!HdUFo6p zRC+1Bl|D*eWpAaQ(q9>%?4t}+1}Rg5l_APdWt=iznV?KmCMlDZDaur3rm|33q%2mJ zC`*-UWu3BK*{B??9HSho9H$(woS^(nIY~K9Ia@hjxlp-A`K9t}3 zxW)Oz1Aaxk-)49j-iMFj8w8Od@n_b^0mY&UG?uudPtj*+4LXcYpew}1+(y5l7ur~Z z?ts#k8%$A75I+^Ci!;QTqNO-Ti&Vcc1!AT6iRhzMTH0>3GPDLg>|{>5pNTR%*(BLy zQAxT=Kknp{hv-GRMi@J4MI$?Ho{@ugtI?#vs<^1==;8H6wWaFPxF&T?W9lhc7ny-< zo^1XS(esonP!=TnT()pfa(YBVLs4rx`6Eo646`Vqg}Q%KRG?Axv8kQTCMB2 zR7SdP++_R;8eEiJl3f=2i;3a@F-=U@Za3{F7?8)NtE<%|P3ltZU#8s+@(CfcqOpRE zPa{sD94uytHex>6Akm_`_NDntt%0S3V*m(| zxhw;HKp+SL!D69UBo>P$%Rndy1K}W4EEUyanOLgLv#elZK&;Gk$&wk}tj#)?lL(T@ zazK(eqz$Bq27*d(V_0<)POHjNUbi5N^(s?ZX=G|?)6>q$#lzdLPe^#b=-Bw= zRPC|u-BsDi>K5CWhPvi@6*|?$KsBR>W6!3FESse&*(ruK?z)ucO>+9x)iyQMRadJU zRN$1ExkXnk=;6>s>b8k=>Sj$kS!p-eno`|ud+6F!O%-`RTp(?|4BPlq_709@TBD|l zTxVlKa~7mYPr16e6RHKF_WO-cJteAFMrMV&rSX)HZ*Sc^q&3UtENS(Z77~z|R9C95 zZaftj6ikM8B}2oOlE%<5sZj+_^^J(s4KtR8-61VeQj5u{{xLdwPl1r)4BL7BR6=4B znSu1n4ZcW-DTdMvrv{{@>&Ayk<6jYRo7pn`^yz~3%&hi7gL=t2{%g<9>D70r{*PXL z=Y6C5)Rsr48Em+WJT71Rg$U@Q1WoFq;br-)Ox_k!=FG5bWVw!gi5mqXyF%%vS121mqM z;%qIpPbxbFuF722g3|=+8E_Vy1Lq0mi{KKt46cZC#d+d8;;s)_63?_>kF!(}y&Us{a8`x9kvJ`fQwy=lzwYX8- zv=sIN#n4{dOjxvA+vpM*=qj7Pj0lrE^njk?7V!ZFc^HVI=XvM@ePM6tCo_QlFaY*} zfiQ^3TnG$>VK5x_)&A5#Dn5t@f&f3HrTCCP>S^ER5$>p!E|xE_^r4{+$(yXhM8~>nIVuYG$$vn zR9)LtQC6XD$k4G@+(A~plW3Sd8VvKbZ```0c37Z&<q?qy$TBk060@5sYSfKQMK$%} ze(``v_Ohm|qFNo~>FKGR=U!#i0*4b}ipm@q)iEZquB51`qOP_bwrXuXtV~A0kKxFi zdLkt0O$`;bL&QVk_u5pC6eAJhTr#ddnN24`aFq5d4-+&7j@2IWa0lbGFFiaJ6UeGQ zC9&FPutDqPY1Z|qxL+rLa0;B7k(^Ez*bb*?^E^{Cv~ZEkWeuDOXTjNU4x9_;kWs)8bF!8S$)mPCUN`E+(NE`GHH}GPs=lUMX`DFA%>e{ag`$7H^T? zw>JW>3=pwdHopyS5id${7m2~(HfbBT!yVE~yd+-My*yQBD!x;Q_rd+db;0k%t8MUr zcuiX$?_drO!(%ejc6bCH6|ajo+GUgA2@?F>)SmI~?i$~#ub-&1IjX$QNzTFxQvY-C zym&{v`%iysA3qy-1Kuo9nMgrmX+=|ALoD%wbq%djq}UFB*4F!U(|jn+x8WUP8t)Nl zegGfBU&P1a@8TcgL-9Tars5m%?Y~9&G5obtl*L!#FP&nnXTS^D{N?Z^d<9>_H}H4y zk@&0lRD3SJ_(zs+15T2<$2!?f3A8lP$tr?6!FwW63sk0B!-1wb9Wsd+#F7EOiO+~k z>b>6oEx<^no9E^K3NY#_39$HD5>@Tq^iK@m2@vWk%EY7MYi(;#N}erpk-4l!Jy1{7 z3)vxi66-r6C*&;tDgGt?je!gUQq+SOAPguB&Kg0*%-e!#}MjC$aX!ckv+c-gU~s2}Q2wv>3HXbe~kxONnSVld#zKdmsx zslV~x9slY0jFO3UL@5{uqW4cIji@J4Qj|_ySO&_J0`sUOeXLH@4FdxVx?rHhz=8n( zSbI5CDbGQwY}(Lg7!Ky74Fh`&9NN)RvKs(X57@inQ`U2c%6dB}|u+ zHez1TVTo`A18>ngJv%yGPdp(Jf55<3^w#bj>>Pql%a*jGpU@c${4nqrz4Ial+D0@H z6Ir7OIZ%#zC`8LrF&NMRg>t3bD0j+(B3qV* zK{^HlG04Oqdq#AcyWfXM0zX6&Dj^}9$ZV=27@Kbt-+w|gD8Z`rgAz>HwHwo z^8aPLsY2QOrBo4BOqF0j>_8C)#qaDkm8y^|tMm{l=$PK$w4cs!|3?r()#-bd{I3zF znj|BPNgApP7zSylyZ6_6#TaYe8DpwRGRCAwhip+JsR_h;Q=d>8N~AC~iW*Igp~h0< zsPPz-V?fMMB?eU(RAW$s0kL*<7}R4hbPe^X-j7q0sVUS{nH@D<=7dQ;t8?TS48wrf zuc)nP zEKe+ICZ!h=T@9*eDo?4G;;+Ua=l_XlK^N)>Y@&|ogy{$Bq)0^mGf{>C?vSO47)<(C z96+6-PD{c>odv}hOu%5YBuwPIOB_+43dkza_H{Fv;Y-+XQIe`l)Me@l24gT7i@~^e zQU$u`+;yrXDIHE-_FP9wc#lNg(+kviiI%6YGq_izqG{GyErkI8i*}WTyRR@Gs}&{6A_p2ZQPVQaibd2$|eaZX`FBn_w^l z1LDJGVlazvN%MXJppW-EBlY)!`~N!}l1nKLQQF!6tBU%7ULU%5NSxeF9zb+W?k@L` zd&<4!-tsgbxv#vp+)wV0!8{D+W3T{&&oNkt!6FP6V?dOp4TJVI@;-WHlZVJdrJz~f zS5mg6oyta(XSEbJW3Yw<&I3V&JejDPJOzVg9jYcz`_It1b7k4`T%uxf0%b*;oMdGy ziHbR<70OG9hRBN~4O>Mt44#lp5^w&8g1w8OJLjvE*XVRhUM=a?+J8dm>+xo&QQoBe zJ>C*DYr7_RXx>ZX#PSJ5gf47Q3gU34Q~EnlO(k!UGjDqkyK zr@fXKWca0g1Btuj#IkK`lM_JOwJu3kA)AShl5dfdxMl|id*7w$^6m0nBxaQFknfa} z$Yv)7n3FyTkJ1|JC^f>3kBC5((-2o%Y)#Yfb0I zospmYS5PRwASbnwW%7&iOY+NdVqy+r@I3~HFgUzSeocNIvGSW35c&8)e1^e~q!=w# z8l=)%wyxM9eag|-Af()a)Qd^}+EC_18)I-rV%}LX z@Ezb@eP^zFzj#HP(^mgA-daEYe8+grKa5hzI#+5(dlE}Q+tUuTBke>x(=N0t?MA!P z#6Mla;4%heE3RU24TI|#+`xcr!p|7oT0?u$-n0+xOP=9J`_ln*A36|&+Zgeej>CZH>|G4*Eu|CaL^=tB`xyL!!LQmk zDU&qmbOvFfRFrO`NnrMXgsgP7%z)0JbIF;Ahg7xbMar4}CtOpBEI-rvGL=}%}9;}M~Lj=>8IUJ?h5!7B`2ucR?OiXKgmp~uqW zXc8v9!EghHKV$d^qa_%9htYLO4jr>3C+R`tJ)xq>Lsu=(E=l9H{nOfjlXgm)l{PXx z*=rh2YV+;zAw5GR4)XVQdL}&!gFi4FNDg7(JFiO5*L&5s+5rP66fC4yk}R5DL@%b7 z&~0=(y_8-?FQ->v@Fxa;VemJGG7JHR5JQ9^g`s>ky$Tf5Yv{G~I{FLxOY)hlSxTfK zgCUQh35H!UG?fTu9f|Z%pgldv*y1~4$?3iHJ`7n5KS-QCG)IVQr;lQ&crR0?PtZT0 zt|${jC5D3dnqXDnP#YI!mDoAvKK+;SmsNKx}G6goQ6qJTgqWg zwd>2tO`OflZeksnEqd#~Y-e^bJL%=jE(|l?vkpW%2Vt0{vkuv-nLVJG*~fgx>}L)z z2g&C{m=pzxF{s6`4#VLXwqp2^L>RGgL%sqSo@7oD#bJKLFt?34jbWblSV4;6Ip%^y zJ&)nwHs&HGWplSei@>W4DR?Yrt})k{8+wKnU|5J@Q76N0Gk2J~%su8lhQ%0`U|5P_ z8HSZQhW$#|L0=&TprcH~Jo}JguOz~24ApvubtM&#rOcnqUktH>Loh7Iu!6LN6xo@w za?-@oEW@%GR$*9;VGU^-R^*h(c3}V%9nB@bfFFsy&i*s+#uH`Yorc8wS| zU`Tw81u@cM=DSn84wJ|B)R{c}`3q}DOddISnGyp!hGQ@s+p+Jgnk{38u;na)N3?7_h7&NHh~Xq@-`P6C?Ds7i+xWr0vqX{G zSR$IA>h|5aH~TTs33jAp&OZA;%o#gM>N1)otC)--$w!Gfv&sLIo%BCwrs&X2`v=W* zc8-K*2CHRf>d{Qca0Z6jPBe4bdF*_40sA?IMDu51I2*&c7=ErpBPsR2(5(0n%^C^K zS`6pt(U`L9C0X6Te#L%`;XDlIW4M4c{aEJH^&6>W8@rv|f#E_77h$-Vv`7|=-NzpI zA1L4JptS!3|mh`xe8^7#<@S{t1dWnJy@TUl*v#b)~Ki6$))gg+FIck9>~hjEI5cIF9EOoWLo$E}Q|U;tVm|g5g#Szrk=DhTAbD?A?js zw;1kP%^7nhTvyIiHiXr48JFJBX|hI!x$dXdRCsa;T&c2+c_uB z8N)r8oJM(`=G?=M`H<+iqpzRT z7sLHhM_lEKg1BJq`l?V(1Th^P@mfbk&m1rBc=zgh_qxoaju40I&!ztV2RDF#OXmi1 z8C)heh|7||9oK;)HvAHXmodDG;WZ4eljJLm1nHz&&gIGGuiyrA`CI{4$Q5zKaG${N zB!;Ij{0YOen4F%ygRRy>`9XrRy1Khj2f_+H`A3O-vD&tiT%#uwud+`o)V%9GR8J-{ zxlbEf)1$L@vz~lTBG>;zZq<`7NaUq8j%XzJiS~Gny<(KaJz|Hhh@RR%Yn)Y|N;@@? z`wYVy7~UjA|5_WDY1|BAExG9!-fH8Bg5UYK+|AWX)$IaRs!po**BaR^;1-h;aPD(% zAxHG_E{69oyuXx)OB>fNi3gGWhuYt3?X`XDdT6cddTGTvGmV~;tAW_Y5%u~-9IhvP zAtOO+XHLv*;K)hGO71HvliSE`;x=d-hHo(Z9Ydo2e_;40hJRuBH%2my07eiaw3fT4FO6}(aF59SsbZNO z_mm^4F4a*SLkvcOXh~`VN{q-q11UGNOs{KhC{gz#30kyvL&F{|8e^ngJd)Fn9%G_i zLT+h38WW|hZ*+{;?FTO-GQ*Px$~&rQJVmN$yc`ruFN~x#N_rz@Yts%jNrVT?B?(t#A(B~2zSy>>s*SE)N^vEh5@>S(+z zsiUDT?{!ZdZSKH3@~%YYcqiVOcfm-7ks(G#OF0wXohK4^03&0JOtd$ejI~U2cXC-z z6&IP>pdLnQGUQ5OMZLPQSNKW&1NAulB%DNEy1ola_&`2{tbh;VgE2D2$gG_Y<-;&C z$H+pP(;Va(#mC7^m+{eje?Eqf#mEw)ZWvi%WW9`!=M(ruJ_#cmjJjiFi%}2lcg#K;LFXN(9)SB%`&@TK}a z=gYZA(vI`hq#TOeJ9peu+Hu`}_uja-H3LL_B;g`^(2@;R^KJY(i6ia&Qhph~oL|AOl`8E7ni~=y~gHa$xK^T$E2*D^6 zBeE6Y81-Glf6>8_ulTR|jf5kcC5}XNawHm~c#IMx6-d;vB=$RrCHpao>}1LJl1Lxo z4@)nM`e78Me zjc~O1nZKh)eOp4E^j<3gUCRH$lN@{v|A>Fg|H?n%pYp%)&-my33;rc0XYeQ$qX8JD zVU&*1K#VdliM7!njI!47uRB2hp%(*%Oah(V2|Dkc7!>KM;?asO1hj%EV@?NXg%JU* zFb2ia3!_{~kI5T>tm*))uvCyDUYml*^x!syHAeYb)o91m9tt}hUPUhnZvojy1(8!< zj0*op3=9F&IhU)#L&pb&yTpg$_ePQ3w(^a(~9j6{quMx!tqEt!6WbgP^ED5i9peuY*t{bM?jk9*JbPyGLG`Xgg? zx~piD*wl{E*iJSrmvrPm%zh_>)+wZuO2ro#jc-$|$7q6%K^qm)K_xt**eo&VQ%U?g zY(8Ou#ZJX;J%e^h4EpTfttAH(BvN0aIH>quaY%7kaYS)caZGVsaYFF}Mw2m`g3(lr zreQQ4qZydo&OkFUnuXEqHHsfQcymT^Ryr|KT##g9PA6yPVYE@QvaR0!Hz>WF9})ofz@c#hd?S9X~uW z5|BXa_#nt7J}f56LE=ebR&Pp{F;x%*6>)WfQs^QO1#ZKL?8~yHf}vm}7-O^oqpvX9 z{;%kU>O6>iFJlm_bnypTs-3!Y-9KT8&_hpNUZ6_S+Kf+1=s+ph3B3}F_}3|i0_y=S2y!F z7;V$fyd3q*6b4HZ4HB}1Y#~R;6^H`wz-T8X7hljWjCNzRr*nx#Lh-+rxEG^+`ib1Z z#>VNxp?9q?l%!rloj`2BevA&b3k^aeMu#xE{4eGT!}T0Hp!HmyW%fRYN9r5C@65@5 zoar)16o{Iy60k5z7%hwu#tP$v@xla*h@&BbaulOu7#+um>^BkXldFV@!e_!HVX`nq zm?}&Yh;09e(J72hWAqay**!Xo(M60dY13vcH2NHfOFH6aVX^MB7R>feStcz1R{=y= zC9EMKy+HQuT$@1l?YtBR8mQmcF7+ugEU4XH|*X`tTJ)Z5P*(_}N z_ng~=egD63eJAV}4!n=+3Px8ky7mDs=@^7$Si)+s+!f@RL9e>)Hgu zkQ;5nIgEb(_ZD5&@5D{*p1En-V{=&hYr@Zx4qX>+2t+4uVRRd#J4=OI!fk=5++B>G zVDwb`W{$5mZ?2oxWv*8r{W^Xjra^dw(LK@gC*g_yHk|NO_)T~wJkM^_eQ8Cy2!|eG z^Z=v#82w5fSz`HGAcu49!W-dtjDErBQ9IBGe~K*_J=TWK^P-eUNoj}9>p?5!N?I01 zKH6&ECR+1KR>|qvtUWQWheoMX8W2mP?1Is=Hl+%q=VIVsa;TDARHN1(`E=f-)t?+F zyDDvErfZa@N;9Ro(n4ve?54C*S}Sdo-7z8&#Vd?RUi1bdvZ}Wj{ejV+82yFO-)m$} z%AVxQLUu}frGwH@>7;a4x`>wKz)VKc2PLKerXZ#erpP@RIi~21^X8WW&oE^_QbALO zEBh)Vl#!TXF~wnu$CP53GD;b(?5~W$C-BS)y=8|1fW+}6kIhZoUlo6(kmn!p=gOyR3GQs5L6(vZ*>!6Kjx6!&UEROBf zS0Ba82H1Ak7iF2U@;_$bOqA8i8YwlP%rIpx`jp6Q?V-%}l#E=yRu0{GVj)LGHYrCC zi$WGKOxdE$QMM{S(k+89q8nKWrmQe!y+ZjhVwImLHRQ5CL2N@#f2r=6vL&}jpOLHY zVeLJ%LG2Ty^ETzD`t!CHm!KwcVE-_mTreqWwJmD0^$ra3)fZNklZk}M3`O`Z?@&%x zl5;T~txY)-Q@uKLLOF+&mUKP!clMMEbg8mVPL+#f^Vh&|DpT18A99 z!85hGsHv>3p{CKZBDK7(R-Il^(@aQp4IcF!E$?+sk4n(@)4boYv9!uFy|s~CR`yJ+ zC~hcfX!Y#hKop7G1$WZvZ4 zaN)86vP@Z?ET7#;%8x&g@66sLwZ6xswD%jS;c4Emf3Sa%uf&FMaaA6Z&nECg_)#PuYUkJT8x6)9j5nBOu)tuM z!Pf@c4E7itHaKf=-{7IaBZFTJo*Fzecwz9$;ElmsRTq^?Wu!7unX1fHmMSZijmlP| z>Z$Tm#j5gDb*j;-X{r^fZL058hg4@&cU1RO4^+RX9;=?Hep5YHy)WqdOH5xS=wHPfj+GBLbm^aoq8Yde!7>_j`XFSz-n(++d1;$H_R~dh0{I&5W z<8O_R8J{-3Z2X(?8xz{Z*u=`j#>Cd7r-_}3yNRcXw~4QbpGkm8vPrSY2$R_+OHG!U zEH_zcvcY7t$w`wdCf7}Fn%p+IYjVFU)m7QmrK?+4kFFQG-ZWL18kq*0E;0SW^c&Od z8q=MoyG-|(?lV1Z`h)3@rl(EMn4UAeVEV)inpvB-=RtGT(krMb0vck>?R9_HTWzUKbseawT*HT}(F%nQt`&FjpEnm3sbGaqg~)_k1# zc=J!q*O_lK-*0}<{E+z(^JC^G%rBT&*rx+cnc4UOp7TN8!awaytXvA zw72xI^s@A^>}~098EzS2+0QcCGR88_ve2^0aB$(5k;xx>bhNAggSvT&uxW1yoo|ePlJ? zYLnFotNT{3t&Od1t(~o1t=+9Xt-Y;-tV68BtovF=T1Q#uS&y>bVtvl~y7kZ2x2^A5 zKem2lL)j>73~g*|9BrIzTx{HIqHOxxq}$}#)Sd3mcIUg>clYR?&^@VpO0U(uzV5ZV*S=o+dwt*QaId4ie(m+z z4%x}=7(32RVW+e+u=BSovRh#HlfA;;#J-2UoxOv-v%RamyM2Ovmi=J+0{bHSGW&A- zO8aX2G4?Ao_8aYw*dMb$VSm#8l>JZkXYJ41U$nn$f7SlF{VV%7_HXU~wEx=yI3New zfpZWX3>=IcOdJ9nN*#tdV25Q6I~{I1ymYj1^mGh!OmHl4Y;bIH9OkHT{LFEhRnj{KfIH;}gf<9G^P@C*-7&JF!l@lhVn+$fXN~hIMYn}Euop!qI^w{Z@(;KI^PJcNAXXI?> z+}F9(d6@G|=T**|oKHFb7ME{aw!7?f+2wN7<*dtPm#Z$#(jeO6nBl*eYN`q_dD)y-T!p| z+XHwY54i{9!Feb=lpY2ib{-BMP982EZXO;UULHOky*>Or`gjC+4DuM}G2dgS$8}HI z)5SB+v)ps6=M>NBo?6dYo{KzJdam|d>-mM}de5&sH+pXN+~;|~^Lx)Dp2s{-cs}%e z?fIwY-(J9r_F}zwjhEnM?&av^;^ph*=N0J{;}z$X;Fao?<~7hO(<{%b%4>|*WUpmj ztG)Jk-SGO^>$cZjulrsPy&ii#@%qhM;jQ#G@HX@|_U`I!=56ck>h13B>Fw?9>+RhLqj$6S6z>Jz3%wV6w|TGf-t4{Adz-grhxZ}xBi_fnPk5j4 zzUh6-`;PZLpHiQpK8-%jJ}o{oeRlaA^||VE-RGvyEuXtS4}2c^Jn?zv^U{~|6@0t+ z8v2^}n)zD#TKjhQ?dfahJIMDF-&MZ*eV_Ms>z&_wO7DHWf9QR(_m90#_rBiycJF(= zANGFI`&sXoyOdX6HphRSrM=?U}wPY zfPDc60uBZI81PfTxqyoSR|2l}>DDKw&xAfl`<(A{rO)*~Kli!U=V716eVzo`1||m< z1Xc#N1d4&911AN}3H&^8W#Fd3-GTc84+I_xJQ{c+@Iv6_z-xgw18)c33w#jxcaUXJ z@1U@tgrI>zgMxB`@`BVsy+(CwhRLB9q48O#S81RDi+4Ymxn4z>;M8SEPD5gZ)cKR7NpF*qeSEjS~%Ft{YR zEVv@LI=C))Xz;k;w%{GX`-8s^J`#K^_)PHm;7h?*g6{<15B??iafne!w~(G8_90Fo z8rKl_knoV?knE7+kcyD%kh+kDkfsn#$i$FYA&WxRhHMDg7_uc~N64;_y&>O)oD8`X zay8^e$gPmOArC@cguD)U8}e5u2&F>l&~Bmrp{b$Sp?RSNp+%vUp*5lPp$(xULO%(` zp`$}rhHePm9QsY@j?iyIPla9!y%+i@^hxM5P3Vg-S(qZsEzC2_JFItDKv-Z{NLYAS zL|9JP;IP85;;_=Nvas^7p<%8z=)8D@QBEW=!lqzxQK*^tccu*{D`86(ulH%(Gk-kW<|`6m>;n?qCH|+#EOW` z5#L1YjrcC&WWa}gIKu0`C4xD|0H;zgu=WdF$6$OKJfQe#eiDfzM@N1ec`)*Lk!K^%N8XOS8+kwSVdU$`-y{Es{Hvd$UzdKWen$Pe z_jBv#+0VP5Z@-)Ue(m?P-?M%%qq;_=N99EoL={JsM%6@3i25vQO4RzOuc9_aZHd|z zwIk}=sNGR}qb^2WiPBt;x*2sV>Q29OG#lMD+AP{4x?8kUv`e&G zv`2JsbZB&VbVPJ=^nmE}=#1#R=!)p7=$h!d=#QhPN6(C&6FonAVf2#drO_**S4Xdl zULUz35w|#lNgg6lNys2GcYDIrX;2;rXr>~rY>e^%#@e~F-u~W#w?Fn6SFSn%a{!@ zyJHT;oQb&@b2;W(%&nL^G52B~#Jq`xv6ivjV*_I2VvA$dvE{LqvDLA)vGuX7v14M# z$4-o$96K#m8#^nuJ$6~_idfC6*v+w9W4Fcbh&>d0B=%VBiP%fAS7NWl-iUo1`!x1h z?2Fhx;_Tx>;s(U2me+vE4gACJGNiN6tl zEBIOJg#HO}326x#30Vm_34;>~ z63P=A5=JJ>N@!15oA71AR|%UEwkGUJ*q5+B;b6j{gd+*}66J|bi4lp(i31V`CJsu> zPRvcLOZ+%dlQ=4IY~qB(iHVC6S0=7Y)T~eZI&o9t-o!(RM-xvZ{+M_^@lxWI#OsMS z6CWl%PXbA7k|L=~l3|j0Qnw`QB-^B(Np49VNx?~}N$E+MN!dwxNd-y8N$RBXq^hLa zq|r&^l0HqElr%MIdeY3KIZ5-A7A7r8YERmdbUNvJ(yQby$q~uv$@R&jk{2egN&YH% zlO}m<^7iDt$@`PPPd<`-EcsE2eM)jlZc2ViVM<9#SxR}z(3IAcQ7L0nrlibDnV+&U zWlhSul=UfJr)*03Hs$-2BdKhvVQQ~bmsH=>zN!6E`=`dGCZ;B*PD-7Xx+t|R^~=<6 zQ}?8PmwGVuaO$ztA5u@H-blTbdN=h!>Z8;rsn1e1FH>I+=s6&7z_pvEm-HU#cIgi3 z&gpLHp6Nd6e(3?}LFpmsb?LLy_oQDQC=84mIBejGffonf9e8ix{ece$z8?5zhAabR zuo;SsE*UCKM$ZiYjPQ)ejOdJ*jI4~@jQotkjFOD%jOL8t86z^rWQ@<4m@z41UdED) zr5P(SR%dL;*qE^;V_U|KjNKXgGfrfj%ea+sJL68qy^I$bFEd_cyvd|9nM^j5&os-l z%(Tw5&FqzFpP83gk=c;hoH;ymMCK=%<1;5_PR^W`sm;{P%KUMVYEal9JZQ=w?V#C% z<_%gjsBO@)K`REG&7!ipW|?Q%XL)7$X8C6YW`$&hXT@hFWu<1NXJuw(XXR$qXML8n zJZpW{&a4Ajhq8`l9nU(Obs_6=*43<=Sr4-wXFbh&mTi`8n{A)%lYyF7=y;Jnzp0eP8u*?D<+`FRz2O?fzPX5O5<`FRWTmgFtXTamXq zZ(ZK{ynT5G^1jbIl6O4sq$cll-r2nKd6)983|0;9J9zluHG{7XemMB?;HQJ14}LZH zO@3H@LVj}ofc$~^gYvWU%k!J_#r)CvL1LD7R=v(c+?2MQe+`Ec&WwQ_;6Ydy2j*I#_hL z=x8xh+`stK;@QOuiWe2P6|X2>UA(UN%i_N?w+{Dfz1ulv1U1sd1@IX^&F7QpZx4Quoq6rNO0Pr4gl3 zr7@*(rTL|;rP|WZOBa{6mo6*)qI5&)#?sBDyGr+#?k_!9`k?e#>F=d~s%2`VmaEOw z4r*_8kUBygrH)a@s}t3O)Wzx=QaBo|o}f{GrkjR57b!VMTkz z`iieBHdp*malYbq#hr?~756JqrBG>E*{jk)Q|VmkTIpZeuQIbTyE3n`pt879U0GgP zRasj(v~o=4_{xculPjlHYAa_~&a3>qa#7`y%GH%yDz{bctlV9>ukt|Up~@qb=PEB& zUa5Rr#a1b*x>UJW1yzMs^{vXUs;a838d^2IYEe~N)v~JnRXZjCCub){zr+$9@ z!ulokOY67Se_Ox1esBGE^#|(@*B`AvUjIY=srobZ=jxviH69u;G<)dCp-YGE8G5S$ zHS}yqXc*X_8Pt%|kk_DYsBIY9(AY4nVR*ww4Iejr+AyhMYQv0%Sq*aoeb$2BK3CpQmhPH)a=&T7tS&TDRMp4+^$`RXt@%xPHSu&QAbhpim8 zVc5oDTZVlzZ11om!!*Z-og8+0*x6y{hut1_Z`i|OkB2=S_N+zKV%^fS#lFR{#jVA& z#iylrOTU)HmZX-Hmb{jtmXemTma3N8mZ2?;Eu&hdwk&H|*|MhPi9kW9n@ObTGCq9TG3kFTH9LR+R&k5F-(T zT!Dy2KrUf%bwRASaf6Xl1FV1%M5)qG?@xFiUe&9VOsPp)FSSXVrFQ8PX@|61+9P#H zozfBMm~>9MAYB9*APWoxgFrU87UY9_zQ0fGi?qL?M`{gc64cQjf_B(nMB~7P5w{BiqQo$zgJgd{0i2|C6(%ms}vfs+nqk zb+|f0yt>Sq|ecp=qvP9T1pquGAdI<%c)6gs6`n~XdSJmjrwEy^Lmk9tk2fh>09)D`sez7 z{h;2Vcj{ewkA7M|qyMCz*Dt0rQhiesQgc$vQva#Qs2EdmYsHg>z{YZ;#n^1L8(WR- z#x7%zvCsJ0_{KP7d}karP8dDLsdQfYiF9RpOS-3WSmhM6$_&f~^KEmbxyoE^t~EE9 z+sqy2Zga2snfZlzz&u!;U0qPUp!%Ka12q{nW37c2u~L>{RautBEN%r>gVks?Sf3?RV^V?G}5Dz24qv@3!~apV?p72kfuxukCN_Lw2|Qt24;C z&Y9@k@62>c9N=gUby7}^v(&Mj)y^hohqKe!<$UTKbUK_)r_1Sf4m-Upll5g;Y%t4V zx3dCvFT0OTX46>_d-0Ng*cv*-evExR<@C~ zu?}{WonSreG&{r2x&7QMcc44Seb$}p&UY8OZ@R!GE_Ey1v|HtFa*uk$yj(BOyV<+N zyUUyEJ>X6A9`y>nI&Y=d>TUMgJ-pT1>FxIRdi%UDy-u%}XYyR0&mZK^^Ai3VFXi)i znsXlVWnAz&UeDj>8~JwL!8>^u@8(DNasC58#ed}I_|N`ee~6#s5B0D1uko+*NBKAU zqy1a_vHk@AQU7JX+;{vY|3iPL|6l)XFfbS%JRQu!L0N!jceojctzY4 zH^-~umiYbn%lH>DS`>Yn4WeCqEVhb0 zqDy=$4vS;rgy<2c#ToIFI4>?HeUj{Ca55yxNk%0%Bzeir$zPKR$;9OD = Item.fetchRequest() + + do { + // Attempt to fetch items from Core Data using the fetch request. + // The fetched items will be stored in the itemArray. + itemArray = try context.fetch(request) + } catch { + // If an error occurs during the fetch operation, print an error message. + print("Error fetching data from context, \(error)") + } + } + } From 8a07ab84ea2f6099985e7e15194c6efbd4cfe147 Mon Sep 17 00:00:00 2001 From: jhammad Date: Wed, 13 Dec 2023 11:13:12 +0000 Subject: [PATCH 16/21] Add code to delete data and comment it --- .../UserInterfaceState.xcuserstate | Bin 49357 -> 49472 bytes .../Controller/TodoListViewController.swift | 17 ++++++++++------- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate b/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate index e7eb90abd977c011210bc8c222da1d0ac36d710e..26a58570275a4e87b0e0735ed509b9c56778e94a 100644 GIT binary patch delta 16642 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 WJb14g3=h6?x_{jJ_Ty#A!~X|Rm=I+E delta 16574 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 Date: Wed, 13 Dec 2023 15:28:03 +0000 Subject: [PATCH 17/21] Add Searchbar fetching the data --- .../UserInterfaceState.xcuserstate | Bin 49472 -> 74301 bytes .../Controller/TodoListViewController.swift | 93 +++++++++++------- Todoey/Views/Base.lproj/Main.storyboard | 10 +- 3 files changed, 66 insertions(+), 37 deletions(-) diff --git a/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate b/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate index 26a58570275a4e87b0e0735ed509b9c56778e94a..5c26efac75c51ad752ae0f38379cef42a9f78411 100644 GIT binary patch literal 74301 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 delta 24691 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 ZrLnSD=-0MiyLP{3M?0>J{{O{p{|}iI?$!VR diff --git a/Todoey/Controller/TodoListViewController.swift b/Todoey/Controller/TodoListViewController.swift index d68d892e..2b51df3a 100644 --- a/Todoey/Controller/TodoListViewController.swift +++ b/Todoey/Controller/TodoListViewController.swift @@ -5,29 +5,29 @@ class TodoListViewController: UITableViewController { var itemArray = [Item]() -// // This line gets the shared instance of the UIApplication, which represents the current running app. -// -- let sharedApplication = UIApplication.shared -// -// // This line gets the AppDelegate instance using the shared application instance. -// -- let appDelegate = sharedApplication.delegate -// -// // This line casts the delegate as an instance of the AppDelegate class. -// // The "as!" operator is used for a forced downcast. It assumes that the delegate is an instance of AppDelegate, and if it's not, it will crash at runtime. -// -- let appDelegateAsAppDelegate = appDelegate as! AppDelegate -// -// // This line accesses the persistentContainer property of the AppDelegate. -// // The persistent container is a part of Core Data, which is a framework used for data storage and management in iOS applications. -// -- let persistentContainer = appDelegateAsAppDelegate.persistentContainer -// -// // This line accesses the viewContext property of the persistent container. -// // The view context is a managed object context that is used for interacting with the Core Data objects. -// -- let context = persistentContainer.viewContext -// -// // Now, 'context' can be used to perform Core Data operations like fetching, saving, and deleting objects. - + // // This line gets the shared instance of the UIApplication, which represents the current running app. + // -- let sharedApplication = UIApplication.shared + // + // // This line gets the AppDelegate instance using the shared application instance. + // -- let appDelegate = sharedApplication.delegate + // + // // This line casts the delegate as an instance of the AppDelegate class. + // // The "as!" operator is used for a forced downcast. It assumes that the delegate is an instance of AppDelegate, and if it's not, it will crash at runtime. + // -- let appDelegateAsAppDelegate = appDelegate as! AppDelegate + // + // // This line accesses the persistentContainer property of the AppDelegate. + // // The persistent container is a part of Core Data, which is a framework used for data storage and management in iOS applications. + // -- let persistentContainer = appDelegateAsAppDelegate.persistentContainer + // + // // This line accesses the viewContext property of the persistent container. + // // The view context is a managed object context that is used for interacting with the Core Data objects. + // -- let context = persistentContainer.viewContext + // + // // Now, 'context' can be used to perform Core Data operations like fetching, saving, and deleting objects. + let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext - + // Get the URL of the document directory for the current app's sandboxed environment // FileManager.default: The default file manager for the app. @@ -37,9 +37,9 @@ class TodoListViewController: UITableViewController { // .first: Retrieves the first URL from the array of URLs returned by urls(for:in:). let dataFilePath = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first?.appendingPathComponent("Items.plist") - override func viewDidLoad() { super.viewDidLoad() + loadItems() } @@ -80,13 +80,13 @@ class TodoListViewController: UITableViewController { // Toggle the 'done' property of the item at the specified index path row itemArray[indexPath.row].done = !itemArray[indexPath.row].done -////////////CODE TO DELETE INSTEAD OF CHECK -// // This line of code deletes the item at the specified indexPath.row from the Core Data context. -// context.delete(itemArray[indexPath.row]) -// -// // This line of code removes the same item from the local itemArray. -// itemArray.remove(at: indexPath.row) - + ////////////CODE TO DELETE INSTEAD OF CHECK + // // This line of code deletes the item at the specified indexPath.row from the Core Data context. + // context.delete(itemArray[indexPath.row]) + // + // // This line of code removes the same item from the local itemArray. + // itemArray.remove(at: indexPath.row) + // call to the function saveItems to pass from the context to the real database saveItems() @@ -120,7 +120,7 @@ class TodoListViewController: UITableViewController { // call to the function saveItems self.saveItems() - + } @@ -151,12 +151,9 @@ class TodoListViewController: UITableViewController { } self.tableView.reloadData() } - - // This function is responsible for loading items from Core Data into the itemArray. - func loadItems() { - // Create a fetch request for the "Item" entity. - let request: NSFetchRequest = Item.fetchRequest() - + // this function is to load items based on a given fetch request. The flexibility is provided by allowing you to either provide a custom fetch request (with:) or use the default one (Item.fetchRequest()). + func loadItems(with request: NSFetchRequest = Item.fetchRequest()) { + do { // Attempt to fetch items from Core Data using the fetch request. // The fetched items will be stored in the itemArray. @@ -165,8 +162,32 @@ class TodoListViewController: UITableViewController { // If an error occurs during the fetch operation, print an error message. print("Error fetching data from context, \(error)") } + tableView.reloadData() } +} +// MARK: - Extension for the SearchBar Method +extension TodoListViewController: UISearchBarDelegate { + func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) { + let request : NSFetchRequest = Item.fetchRequest() + // Set the predicate of the fetch request to filter results based on a condition. + // In this case, the condition is defined using NSPredicate. + // NSPredicate(format: "title CONTAINS[cd] %@", searchBar.text!) + // - "title" is the attribute to filter on. + // - "CONTAINS[cd]" checks if the title contains the specified text, case-insensitive and diacritic-insensitive. + // - %@ is a placeholder for the actual text provided by searchBar.text! + request.predicate = NSPredicate(format: "title CONTAINS[cd] %@", searchBar.text!) + // Set the sort descriptors for the fetch request to define the order of fetched results. + // In this case, a single sort descriptor is used: + // NSSortDescriptor(key: "title", ascending: true) + // - "title": Specifies that the sorting is based on the "title" attribute of the fetched entities. + // - `ascending: true`: Indicates that the sorting should be in ascending order. + request.sortDescriptors = [NSSortDescriptor(key: "title", ascending: true)] + // calling loadItem with the new request value + loadItems(with: request) + + } } + diff --git a/Todoey/Views/Base.lproj/Main.storyboard b/Todoey/Views/Base.lproj/Main.storyboard index c467a8f8..7730c938 100644 --- a/Todoey/Views/Base.lproj/Main.storyboard +++ b/Todoey/Views/Base.lproj/Main.storyboard @@ -16,9 +16,17 @@ + + + + + + + + - + From ffa877ae7ba39a4dd184a6b6d760f65049763e4d Mon Sep 17 00:00:00 2001 From: jhammad Date: Thu, 14 Dec 2023 15:39:32 +0000 Subject: [PATCH 18/21] Add function to reset searchbar once the search is completed --- .../UserInterfaceState.xcuserstate | Bin 74301 -> 74454 bytes .../Controller/TodoListViewController.swift | 41 ++++++++++-------- 2 files changed, 24 insertions(+), 17 deletions(-) diff --git a/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate b/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate index 5c26efac75c51ad752ae0f38379cef42a9f78411..130c08b73ae78945f43161e78a3c57bde6d602fc 100644 GIT binary patch delta 36219 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%0D8) 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 z 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 J|NH&${{en|C+7eF delta 36380 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 = Item.fetchRequest() - // Set the predicate of the fetch request to filter results based on a condition. - // In this case, the condition is defined using NSPredicate. - // NSPredicate(format: "title CONTAINS[cd] %@", searchBar.text!) - // - "title" is the attribute to filter on. - // - "CONTAINS[cd]" checks if the title contains the specified text, case-insensitive and diacritic-insensitive. - // - %@ is a placeholder for the actual text provided by searchBar.text! - request.predicate = NSPredicate(format: "title CONTAINS[cd] %@", searchBar.text!) - // Set the sort descriptors for the fetch request to define the order of fetched results. - // In this case, a single sort descriptor is used: - // NSSortDescriptor(key: "title", ascending: true) - // - "title": Specifies that the sorting is based on the "title" attribute of the fetched entities. - // - `ascending: true`: Indicates that the sorting should be in ascending order. - request.sortDescriptors = [NSSortDescriptor(key: "title", ascending: true)] - // calling loadItem with the new request value - loadItems(with: request) - + if searchBar.text?.isEmpty ?? true { + // If the search bar text is empty, load all items and resign first responder + loadItems() + DispatchQueue.main.async { + searchBar.resignFirstResponder() + } + } else { + // If there is text in the search bar, filter and load items based on the search text + let request: NSFetchRequest = Item.fetchRequest() + + if let text = searchBar.text { + // Set the predicate of the fetch request to filter results based on a condition. + // In this case, the condition is defined using NSPredicate. + request.predicate = NSPredicate(format: "title CONTAINS[cd] %@", text) + + // Set the sort descriptors for the fetch request to define the order of fetched results. + request.sortDescriptors = [NSSortDescriptor(key: "title", ascending: true)] + + // calling loadItem with the new request value + loadItems(with: request) + } + } } + + } From 0c8f291e53c8ee79b1647e8fc36763ac79a2dc4c Mon Sep 17 00:00:00 2001 From: jhammad Date: Thu, 14 Dec 2023 17:56:49 +0000 Subject: [PATCH 19/21] Add Category Controller view --- Todoey.xcodeproj/project.pbxproj | 4 ++ .../UserInterfaceState.xcuserstate | Bin 74454 -> 87772 bytes .../Controller/CategoryViewController.swift | 25 ++++++++++ .../Controller/TodoListViewController.swift | 3 ++ .../DataModel.xcdatamodel/contents | 6 ++- Todoey/Views/Base.lproj/Main.storyboard | 46 ++++++++++++++++-- 6 files changed, 79 insertions(+), 5 deletions(-) create mode 100644 Todoey/Controller/CategoryViewController.swift diff --git a/Todoey.xcodeproj/project.pbxproj b/Todoey.xcodeproj/project.pbxproj index 1f8b7233..11c2cb44 100644 --- a/Todoey.xcodeproj/project.pbxproj +++ b/Todoey.xcodeproj/project.pbxproj @@ -12,6 +12,7 @@ EB2BE501239524DB00FB933B /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = EB2BE4FF239524DB00FB933B /* Main.storyboard */; }; EB2BE503239524DC00FB933B /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = EB2BE502239524DC00FB933B /* Assets.xcassets */; }; EB2BE506239524DC00FB933B /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = EB2BE504239524DC00FB933B /* LaunchScreen.storyboard */; }; + F65EB8DD2B2B709A008A33A0 /* CategoryViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F65EB8DC2B2B709A008A33A0 /* CategoryViewController.swift */; }; F696893A2B28BB870063C5EB /* DataModel.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = F69689382B28BB870063C5EB /* DataModel.xcdatamodeld */; }; /* End PBXBuildFile section */ @@ -23,6 +24,7 @@ EB2BE502239524DC00FB933B /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; EB2BE505239524DC00FB933B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; EB2BE507239524DC00FB933B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + F65EB8DC2B2B709A008A33A0 /* CategoryViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CategoryViewController.swift; sourceTree = ""; }; F69689392B28BB870063C5EB /* DataModel.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = DataModel.xcdatamodel; sourceTree = ""; }; /* End PBXFileReference section */ @@ -69,6 +71,7 @@ F6AD32A62B1F9B4900396DBF /* Controller */ = { isa = PBXGroup; children = ( + F65EB8DC2B2B709A008A33A0 /* CategoryViewController.swift */, EB2BE4FD239524DB00FB933B /* TodoListViewController.swift */, ); path = Controller; @@ -170,6 +173,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + F65EB8DD2B2B709A008A33A0 /* CategoryViewController.swift in Sources */, EB2BE4FE239524DB00FB933B /* TodoListViewController.swift in Sources */, F696893A2B28BB870063C5EB /* DataModel.xcdatamodeld in Sources */, EB2BE4FA239524DB00FB933B /* AppDelegate.swift in Sources */, diff --git a/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate b/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate index 130c08b73ae78945f43161e78a3c57bde6d602fc..8653a7ae892028adb28083076d54d51a50dd519f 100644 GIT binary patch literal 87772 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 delta 37792 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 - + + + + + diff --git a/Todoey/Views/Base.lproj/Main.storyboard b/Todoey/Views/Base.lproj/Main.storyboard index 7730c938..521712c6 100644 --- a/Todoey/Views/Base.lproj/Main.storyboard +++ b/Todoey/Views/Base.lproj/Main.storyboard @@ -8,7 +8,7 @@ - + @@ -39,7 +39,7 @@ - + @@ -50,7 +50,7 @@ - + @@ -77,13 +77,51 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From ce6a287bccbe87a10b5b4695b0d5b71b6ba23ed7 Mon Sep 17 00:00:00 2001 From: jhammad Date: Mon, 18 Dec 2023 11:38:42 +0000 Subject: [PATCH 20/21] Add Category Controller implementation - just add not delete --- .../UserInterfaceState.xcuserstate | Bin 87772 -> 58842 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 24 ++++++ .../Controller/CategoryViewController.swift | 80 ++++++++++++++++-- .../Controller/TodoListViewController.swift | 10 +-- .../DataModel.xcdatamodel/contents | 2 +- Todoey/Views/Base.lproj/Main.storyboard | 1 + 6 files changed, 104 insertions(+), 13 deletions(-) create mode 100644 Todoey.xcodeproj/xcuserdata/javierhammad.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist diff --git a/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate b/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate index 8653a7ae892028adb28083076d54d51a50dd519f..f9623e9a5e78cb153ab9a5c15d20d5b10530fcc4 100644 GIT binary patch literal 58842 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 diff --git a/Todoey.xcodeproj/xcuserdata/javierhammad.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/Todoey.xcodeproj/xcuserdata/javierhammad.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist new file mode 100644 index 00000000..0b048a99 --- /dev/null +++ b/Todoey.xcodeproj/xcuserdata/javierhammad.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -0,0 +1,24 @@ + + + + + + + + + diff --git a/Todoey/Controller/CategoryViewController.swift b/Todoey/Controller/CategoryViewController.swift index 8c3cedd1..c68d8b62 100644 --- a/Todoey/Controller/CategoryViewController.swift +++ b/Todoey/Controller/CategoryViewController.swift @@ -2,24 +2,90 @@ import UIKit import CoreData class CategoryViewController: UITableViewController { - + var categories = [Category]() + let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext + override func viewDidLoad() { super.viewDidLoad() + loadCategories() + } // MARK: - TableView DataSource Methods + override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + return categories.count + } + + override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + let cell = tableView.dequeueReusableCell(withIdentifier: "CategoryCell", for: indexPath) + let item = categories[indexPath.row] + cell.textLabel?.text = item.name + return cell + } + // MARK: - Data Manipulation Methods - // MARK: - Add New Categories - - - - @IBAction func addButtonPressed(_ sender: UIBarButtonItem) { + func saveCategories() { + + do { + try context.save() + + } catch { + print("Error saving category, \(error)") + } + self.tableView.reloadData() + } + // this function is to load items based on a given fetch request. The flexibility is provided by allowing you to either provide a custom fetch request (with:) or use the default one (Item.fetchRequest()). + func loadCategories() { + + let request : NSFetchRequest = Category.fetchRequest() + + do { + // Attempt to fetch items from Core Data using the fetch request. + // The fetched items will be stored in the itemArray. + categories = try context.fetch(request) + } catch { + // If an error occurs during the fetch operation, print an error message. + print("Error loading categories, \(error)") + } + tableView.reloadData() } + // MARK: - Add New Categories + @IBAction func addButtonPressed(_ sender: UIBarButtonItem) { + // Declare a variable to capture the text field + var textField = UITextField() + + let alert = UIAlertController(title: "Add New Todoey Category", message: "", preferredStyle: .alert) + + let action = UIAlertAction(title: "Add Category", style: .default) { (action) in + + let newCategory = Category(context: self.context) + + // create the title for the new file + newCategory.name = textField.text! + + // Use the captured text field to access the entered text and add it to the array + self.categories.append(newCategory) + + // call to the function saveItems + self.saveCategories() + } + alert.addTextField { (alertTextField) in + + // Set a placeholder text for the text field + alertTextField.placeholder = "Create new category" + + // Capture the reference to the text field for later use + textField = alertTextField + } + + alert.addAction(action) + present(alert, animated: true, completion: nil) + } +} // MARK: - TableView Delegate Methods - (do it later) -} diff --git a/Todoey/Controller/TodoListViewController.swift b/Todoey/Controller/TodoListViewController.swift index 63dd8bb0..02da22bb 100644 --- a/Todoey/Controller/TodoListViewController.swift +++ b/Todoey/Controller/TodoListViewController.swift @@ -5,21 +5,21 @@ class TodoListViewController: UITableViewController { var itemArray = [Item]() - // // This line gets the shared instance of the UIApplication, which represents the current running app. + // // gets the shared instance of the UIApplication, which represents the current running app. // -- let sharedApplication = UIApplication.shared // - // // This line gets the AppDelegate instance using the shared application instance. + // // gets the AppDelegate instance using the shared application instance. // -- let appDelegate = sharedApplication.delegate // - // // This line casts the delegate as an instance of the AppDelegate class. + // // casts the delegate as an instance of the AppDelegate class. // // The "as!" operator is used for a forced downcast. It assumes that the delegate is an instance of AppDelegate, and if it's not, it will crash at runtime. // -- let appDelegateAsAppDelegate = appDelegate as! AppDelegate // - // // This line accesses the persistentContainer property of the AppDelegate. + // // accesses the persistentContainer property of the AppDelegate. // // The persistent container is a part of Core Data, which is a framework used for data storage and management in iOS applications. // -- let persistentContainer = appDelegateAsAppDelegate.persistentContainer // - // // This line accesses the viewContext property of the persistent container. + // // accesses the viewContext property of the persistent container. // // The view context is a managed object context that is used for interacting with the Core Data objects. // -- let context = persistentContainer.viewContext // diff --git a/Todoey/Models/DataModel.xcdatamodeld/DataModel.xcdatamodel/contents b/Todoey/Models/DataModel.xcdatamodeld/DataModel.xcdatamodel/contents index 60d2635c..79df2f1c 100644 --- a/Todoey/Models/DataModel.xcdatamodeld/DataModel.xcdatamodel/contents +++ b/Todoey/Models/DataModel.xcdatamodeld/DataModel.xcdatamodel/contents @@ -1,7 +1,7 @@ - + diff --git a/Todoey/Views/Base.lproj/Main.storyboard b/Todoey/Views/Base.lproj/Main.storyboard index 521712c6..4d3ba0b6 100644 --- a/Todoey/Views/Base.lproj/Main.storyboard +++ b/Todoey/Views/Base.lproj/Main.storyboard @@ -109,6 +109,7 @@ + From 41266b15764ac04dfe895dd8e328d6c5795e2d64 Mon Sep 17 00:00:00 2001 From: jhammad Date: Mon, 18 Dec 2023 18:13:38 +0000 Subject: [PATCH 21/21] Add Segue from Category to items --- .../UserInterfaceState.xcuserstate | Bin 58842 -> 50724 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 4 ++-- .../Controller/CategoryViewController.swift | 15 ++++++++++++++- .../Controller/TodoListViewController.swift | 16 +++++++++++++--- .../DataModel.xcdatamodel/contents | 3 ++- 5 files changed, 31 insertions(+), 7 deletions(-) diff --git a/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate b/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate index f9623e9a5e78cb153ab9a5c15d20d5b10530fcc4..3eb41f1397d372b43bc0e3fe330e46282c43eccb 100644 GIT binary patch delta 26597 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 diff --git a/Todoey/Controller/CategoryViewController.swift b/Todoey/Controller/CategoryViewController.swift index c68d8b62..78730cfc 100644 --- a/Todoey/Controller/CategoryViewController.swift +++ b/Todoey/Controller/CategoryViewController.swift @@ -23,6 +23,19 @@ class CategoryViewController: UITableViewController { return cell } + // MARK: - TableView Delegate Methods + + override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { + performSegue(withIdentifier: "goToItems", sender: self) + } + + override func prepare(for segue: UIStoryboardSegue, sender: Any?) { + let destinationVC = segue.destination as! TodoListViewController + + if let indexPath = tableView.indexPathForSelectedRow { + destinationVC.selectedCategory = categories[indexPath.row] + } + } // MARK: - Data Manipulation Methods @@ -86,6 +99,6 @@ class CategoryViewController: UITableViewController { present(alert, animated: true, completion: nil) } } - // MARK: - TableView Delegate Methods - (do it later) + diff --git a/Todoey/Controller/TodoListViewController.swift b/Todoey/Controller/TodoListViewController.swift index 02da22bb..a3f2d862 100644 --- a/Todoey/Controller/TodoListViewController.swift +++ b/Todoey/Controller/TodoListViewController.swift @@ -5,6 +5,12 @@ class TodoListViewController: UITableViewController { var itemArray = [Item]() + var selectedCategory : Category? { + didSet { + loadItems() + } + } + // // gets the shared instance of the UIApplication, which represents the current running app. // -- let sharedApplication = UIApplication.shared // @@ -38,9 +44,7 @@ class TodoListViewController: UITableViewController { let dataFilePath = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first?.appendingPathComponent("Items.plist") override func viewDidLoad() { - super.viewDidLoad() - - loadItems() + super.viewDidLoad() } @@ -114,6 +118,8 @@ class TodoListViewController: UITableViewController { newItem.title = textField.text! // set done property of the new item to false because done is mandatory according to our entity newItem.done = false + // property of the category parent of the item + newItem.categoryName = self.selectedCategory // Use the captured text field to access the entered text and add it to the array self.itemArray.append(newItem) @@ -154,6 +160,10 @@ class TodoListViewController: UITableViewController { // this function is to load items based on a given fetch request. The flexibility is provided by allowing you to either provide a custom fetch request (with:) or use the default one (Item.fetchRequest()). func loadItems(with request: NSFetchRequest = Item.fetchRequest()) { + let predicate = NSPredicate(format: "categoryName.name MATCHES %@", selectedCategory!.name!) + + request.predicate = predicate // correct predicate + do { // Attempt to fetch items from Core Data using the fetch request. // The fetched items will be stored in the itemArray. diff --git a/Todoey/Models/DataModel.xcdatamodeld/DataModel.xcdatamodel/contents b/Todoey/Models/DataModel.xcdatamodeld/DataModel.xcdatamodel/contents index 79df2f1c..bdc96d7e 100644 --- a/Todoey/Models/DataModel.xcdatamodeld/DataModel.xcdatamodel/contents +++ b/Todoey/Models/DataModel.xcdatamodeld/DataModel.xcdatamodel/contents @@ -2,10 +2,11 @@ - + + \ No newline at end of file

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 Int { + // The number of rows is equal to the count of items in the itemArray. return itemArray.count } // This method is called to provide a cell for a specific row. override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + // Dequeue a reusable cell with the identifier "ToDoItemCell" for the specified indexPath. let cell = tableView.dequeueReusableCell(withIdentifier: "ToDoItemCell", for: indexPath) @@ -74,8 +45,7 @@ class TodoListViewController: UITableViewController { cell.textLabel?.text = item.title // terniary operator to change the done - cell.accessoryType = (cell.accessoryType == .checkmark) ? .none : .checkmark - + cell.accessoryType = item.done ? .checkmark : .none // Return the configured cell. return cell @@ -86,19 +56,11 @@ class TodoListViewController: UITableViewController { // This method is called when a cell is selected override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { - // toggling the 'done' property of the itemArray with swift terniary operator + // Toggle the 'done' property of the item at the specified index path row itemArray[indexPath.row].done = !itemArray[indexPath.row].done - - - // Get the selected cell - if let cell = tableView.cellForRow(at: indexPath) { - // Toggle the checkmark accessory type for the selected UITableViewCell. - // If the current accessory type is .checkmark, it sets it to .none; otherwise, it sets it to .checkmark. - // - The ternary operator (a ? b : c) is used here. If the condition (cell.accessoryType == .checkmark) is true, - // the value after the '?' (i.e., .none) is assigned; otherwise, the value after the ':' (i.e., .checkmark) is assigned. - - } + // reload the table + tableView.reloadData() // Animation when the row is clicked tableView.deselectRow(at: indexPath, animated: true) @@ -135,8 +97,10 @@ class TodoListViewController: UITableViewController { // Capture the textfield when it's added alert.addTextField { (alertTextField) in + // Set a placeholder text for the text field alertTextField.placeholder = "Create new item" + // Capture the reference to the text field for later use textField = alertTextField } From 9a3dc4cbfda2da754e3da21937bc198c838f47cf Mon Sep 17 00:00:00 2001 From: jhammad Date: Wed, 6 Dec 2023 10:54:31 +0000 Subject: [PATCH 09/21] Add data by the user to user defaults --- .../UserInterfaceState.xcuserstate | Bin 34161 -> 32822 bytes .../Controller/TodoListViewController.swift | 39 +++++++++++------- Todoey/Models/Items.swift | 11 +++-- 3 files changed, 33 insertions(+), 17 deletions(-) diff --git a/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate b/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate index 008848e10739150164f7993e8ffd8cf0b3fafbe1..d63899da4d44800ad1bcd59ab5c89e3cab8924b3 100644 GIT binary patch delta 15653 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 delta 15998 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 diff --git a/Todoey/Controller/TodoListViewController.swift b/Todoey/Controller/TodoListViewController.swift index 6b10630a..73be364c 100644 --- a/Todoey/Controller/TodoListViewController.swift +++ b/Todoey/Controller/TodoListViewController.swift @@ -11,16 +11,28 @@ class TodoListViewController: UITableViewController { super.viewDidLoad() // items of the table - let newItem = Items() - newItem.title = "Find hope" + // Create instances of Items using the initializer + let newItem = Items(title: "Find hope", done: false) + let newItem2 = Items(title: "Save the world", done: false) + let newItem3 = Items(title: "Buy peanuts", done: false) + + // Append the new items to the itemArray itemArray.append(newItem) - - let newItem2 = Items() - newItem2.title = "Save the world" itemArray.append(newItem2) + itemArray.append(newItem3) + - let newItem3 = Items() - newItem3.title = "Buy peanuts" + if let savedItems = defaults.array(forKey: "TodoListArray") as? [[String: Any]] { + // Assuming each item in the saved array is a dictionary + itemArray = savedItems.compactMap { dictionary in + if let title = dictionary["title"] as? String, + let done = dictionary["done"] as? Bool { + return Items(title: title, done: done) + } + return nil + } + } + } // MARK: - Tableview Datasource Methods @@ -71,25 +83,24 @@ class TodoListViewController: UITableViewController { // MARK: - Add New Item @IBAction func addButtonPressed(_ sender: UIBarButtonItem) { - let alert = UIAlertController(title: "Add New Todoey Item", message: "", preferredStyle: .alert) - - // Declare a variable to capture the text field - var textField: UITextField? + var textField = UITextField() + + let alert = UIAlertController(title: "Add New Todoey Item", message: "", preferredStyle: .alert) let action = UIAlertAction(title: "Add item", style: .default) { (action) in // create new item - let newItem = Items() + let newItem = Items(title: "Your Title Here", done: false) // create the title for the new file - newItem.title = textField!.text! + newItem.title = textField.text! // Use the captured text field to access the entered text and add it to the array self.itemArray.append(newItem) // keep the data entered by the user - self.defaults.set(self.itemArray, forKey: "TodoListAray") + self.defaults.set(self.itemArray, forKey: "TodoListArray") //reload the table with the new entry self.tableView.reloadData() diff --git a/Todoey/Models/Items.swift b/Todoey/Models/Items.swift index f1355ede..0da975a7 100644 --- a/Todoey/Models/Items.swift +++ b/Todoey/Models/Items.swift @@ -2,9 +2,14 @@ import Foundation class Items { // Properties - var title: String = "" - var done: Bool = false - + var title: String + var done: Bool + + // Initializer + init(title: String, done: Bool) { + self.title = title + self.done = done + } } From 7e14b60ba8ca563a619f29842681b77b27bdc948 Mon Sep 17 00:00:00 2001 From: jhammad Date: Wed, 6 Dec 2023 17:37:09 +0000 Subject: [PATCH 10/21] Add datafile path for the folder of the simulator --- .../UserInterfaceState.xcuserstate | Bin 32822 -> 33187 bytes Todoey/AppDelegate.swift | 2 -- .../Controller/TodoListViewController.swift | 11 +++++++++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate b/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate index d63899da4d44800ad1bcd59ab5c89e3cab8924b3..bbdc1222839eafd1f38c30ac51e964db1a0d3ad7 100644 GIT binary patch delta 15232 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 delta 15323 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 CpH~C` diff --git a/Todoey/AppDelegate.swift b/Todoey/AppDelegate.swift index c6bedf48..122723bd 100644 --- a/Todoey/AppDelegate.swift +++ b/Todoey/AppDelegate.swift @@ -15,8 +15,6 @@ class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { - // Override point for customization after application launch. - print("didFinishLaunchingWithOptions") // print the directory of the simulator tp check that the info was stored print(NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).last! as String) diff --git a/Todoey/Controller/TodoListViewController.swift b/Todoey/Controller/TodoListViewController.swift index 73be364c..6cf504d2 100644 --- a/Todoey/Controller/TodoListViewController.swift +++ b/Todoey/Controller/TodoListViewController.swift @@ -10,16 +10,27 @@ class TodoListViewController: UITableViewController { override func viewDidLoad() { super.viewDidLoad() + // Get the URL of the document directory for the current app's sandboxed environment +// FileManager.default: The default file manager for the app. +// urls(for:in:): A method to get URLs for specified directories in a specified domain. +// .documentDirectory: Indicates the document directory, a location where you can store user-generated content. +// .userDomainMask: Specifies the user's home directory as the domain for the search. +// .first: Retrieves the first URL from the array of URLs returned by urls(for:in:). + let dataFilePath = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first + print(dataFilePath) + // items of the table // Create instances of Items using the initializer let newItem = Items(title: "Find hope", done: false) let newItem2 = Items(title: "Save the world", done: false) let newItem3 = Items(title: "Buy peanuts", done: false) + let newItem4 = Items(title: "Avoid carbs", done: false) // Append the new items to the itemArray itemArray.append(newItem) itemArray.append(newItem2) itemArray.append(newItem3) + itemArray.append(newItem4) if let savedItems = defaults.array(forKey: "TodoListArray") as? [[String: Any]] { From 1d64f451d68c1b007eb6cb8e1acbe4895d75bddf Mon Sep 17 00:00:00 2001 From: jhammad Date: Thu, 7 Dec 2023 11:08:56 +0000 Subject: [PATCH 11/21] Decode data with NScoder instead of defaults --- .../UserInterfaceState.xcuserstate | Bin 33187 -> 33058 bytes .../Controller/TodoListViewController.swift | 89 ++++++++++++------ Todoey/Models/Items.swift | 3 +- 3 files changed, 60 insertions(+), 32 deletions(-) diff --git a/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate b/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate index bbdc1222839eafd1f38c30ac51e964db1a0d3ad7..992bbf3bc8d2baf38249e89c5fac29889a93d2ca 100644 GIT binary patch delta 15864 zcmbWe2UrwW_dmY(PF)pPRJy>@aTi!t>e83qr1!QgumVa^z;4{RMq{sIj}7eDMPu)= zL`|ZovDcUwV@s^jSbleR!RY(u{Xft5FVD`xnLBsx=bXzMolk zNb3gNfftYgAK(l8Krjdaksu00gBTDCl0jdP4RSy(7z7$XBWMDH!4NPM3c!ro8@eV{K4gds2jDq#$ag(Xl0OQ9N;!E#su zHLxG7gjKKxHo_)27>kbE`rNpE8GY-!8V|U+u%;P7aoL% z;8A!C-helu_7=Pi@4%noUHA+972bot!H4h}d=1|akRS+>=tdY3=7cTbK)4XDgoKb1 zGQyjX6MYDOB8Z405{Yyoo5&}M2{lnh^dm+ST7n}GF^2e(7)y*Jz9PmG6No7UPs}Ff z5ML9Eh!w<2VimEPSVL?kwrGj1#5cqaVn1=5I7OT$&Jbsb3&dsOI&qu0L;Oj+Bq2$V zBuSAp*`4e`_9V?nbFvp{OFEIxWN*@k^dj!BqPZvGMY>zlgKo(fGi}7$bMuc zSw+^6W65#kSLAqd0y&YKL{28BkW1r!uGM(VjI!%2~ouSTA=cxcH_NFX>nGU-WDG9YboFE=*UZ2h)@3#n>`_j6V~=1TqRHhzVvwm{2B+31_01L?($z zXEK-qrjRLOikT9oA5+O_8ID2B80Jf6EHjSziW$#LU?wtCnc2)j=4)m-vw~UAY+#Nu z$C%^H3FbTIBy);6&3w=N!2HOZW3Dh)nQM&p4)ZhffO*I~VqP#WSrKc>c4vFAJy|o> zoV8#rSu56>wPRgaDeJ-dvVLqR8^-3axojSr&la$SY!O?`mar_&DIyP4g>Ze`opZS3|k_8WEwyOaHvJ<1+q zkFzJ(@7R;;v{O`=0$E6bOM33JD=CWQ1LXrb08JrO-v# zTPP8F31vbbp|3Dds1Sw>niGp zCPb@5JqKzU8mk+dG<8i075GryuUgZ<2}OWob5tprLH>$%MNn`^f#JeBb*(1P@T;a# zC9+G&O#66wc0x>Dd3}YZB16+p)1av<*R%wO=A~q&mi5<^H=PTQaF;8iVscY5y#{E8 zHx}UUdi|Nk=18tqgeODR*XJ163IGxq$7u41VosIUlMk*i19aYbP$22!Fb zO393_E^n%?uTwV+Zz&1opL8wN_6K8d>~90RZ~(V~k+1-V=PEb|2jEF?3Y-S#z=d!n z4!=Lbc6b%X+27#{_zFkYzu`OhfuM0z^(O*x91S7LiGjpm95KfeGjK>eM?As7?-}s| z2Rt7f+Tw6nOT__ACD8wa!0_E&pf>!{c_i!j)7_>SX}Eq|4Oh$6bJko#Tcwdb5oy%j z+`5<8$*s4i%qJi?EHWlOF(s{?VTIkY2CAE?@-bq~u=wh_rsZ9_bj``Cuc+4y&*_V; zQqw3Bv>TghRm^K__>L0KTw?86Md)KSeWC9M@1kc%X=Ax3IM8rW@5=H>wDa zvFX;*rAxc5oxNUc_uK2?dDF1iL3gQRK~#NRQ$u}Cji#a9*~L{qqz4|NPQgRmO?B&N z$Bg_aFI1LUogfV0(CkQh&xuH;ry(QM#2yXXjLFhBmgx#_4b3*bSdZ=+@k& zJt?{G$JK-T z&2W2LRL@G_>@IK@Y{Z|<0%yTifivcZHK)LzVC*y@_#;z^ocP;j=KN`MBmRb&v#BT{ zIwoe=KsBaEMM9INwvnH1ZqA3A596V^OWS4hwS)**0~^o_SaT|_lv8sm-qWOt12Ht|Xpbwv9Bc>`+O##6Vw3%=GL^`YY z8J!ZJsEa&2c=KM)`O8>S8?Vr$l+3)ciUG9^<7O{jwRZjXorg{ucn><=Dp3Hx z#nyxGZ#$(+97xbz5zp1lvhy@f0qFus3${!eH;@~|2ix_n$O9Du$vTh^3P2$!0>z*N zs6Z)DgECOgHF8bdU~ULElpDqk=SFZNxl!B~>wrdZ0b8~TRD=Ft0H^`Apbpe?qq$U$ z;}AE7`w{^M1iTQ4K_C`^RQ{n|y-7)5^|0#N>JgfX%qDe{h97Mo!QZwI=&2H!Mr+Cj zS5|5oG6&XFH|f~R7uq`+odaKh(HOK=@D6aii&&!7whI)3ARM&5EKJEv(7AjXcK#MH zRuJ~7pdfXirY@l_OI?PYAG^O^brS^#n!zM)EEm+N%&B0uK(Y!<1Jl6_FcZuIJU5Q} ziW|>O;3jgDR)INSE|`ap3oy|pb5pp#DQ+?XV*ZZ!3$qnqwN8;M!76SlH?0M%5nSM= z^GyzY0yYYcufRm#47Px++zf6l_XGC_7kUY72j74lU?;}23+x7az+UVL`@sQl5FZbN zBm8xTO|EmeRh)pE$*sZ172N8dz)|cf$MGd6z<1yzI0a6F@4*lJR>vCQVvgsQam%?` zyqi-{P`mD?=fHVz0sO?x=H_t=xv#mMg3!dsG=aO`Db>8o>UbILj z>IlW>z%#s#=imi)`TcyUvjw|^TgnMkqFR1SZ90F(*^zhy{^mt4=J@V!d1IGeJ>P>5 zP*9)??wL&uI398>Tr(f$lG>YqWMOnpmM%Q%tq&<|{Z9mXFpz;P|BZ_$5b}3jWL>)o zOkg*#9~y%fyq&9s*-CDSVVEiGo}H4JosrxEP5DIEcmuH|_g_Ya)?gp(1#Q7WXb;8Ef!lx$yp3zc2L7Jg%C&uFVCV#$fmUx} zOs37;I)i<=R6T#8L~wjLltK^a$*t!$a+^My7h3Dpy+NmL>`Tgl1EV!Hno8_qUX4Sm z`!)Sv81BD zd~hvJ0+Tg$l}%Nq!v0PN{xHPg&bcSTDY|(k!O7ey?(`?~WcRDDsrb(su#(gRaV#t6 zJv@7B|HJd)Y)p!|a2_VbY@A$&^QWrU)*;I;^up7`^Tj z+G)w>@THC=FSy^E;VbTejwNP)!}mJtzJ;T?hupCi_(8Chd&D1d@1Yg_-Ekd35v-m8 z1cMpyM8|*+m`RT~_y1tee+2=-Q^Ex7CrrUXq6g8FFvGF(FRYR^rq1(0a9VNlc*x9iT=a@qK3$#8Ld z6U+1gj#$baL%j)LTu;H`*>+TNoI(h#I6ov zTtdJD0mlwzq#JmCKyZ8&agaDf943ws-x5a=a6-TZ0XGD&c6%e7hj(T-L8H=-og!wh|Fno96=dkYO%Z08BHAzorRZ%ML&oV=hAW7;W-=au zc-_jvl65QVOQs-@fI#v;D@!M{|83eFJZ&BViMnZ%ICp-dzm0P-ss6X2Wq4=>0)2Hu zQ}{>zwmuzRLRORg1(IdUI9aElmK=ry23beelLN^?WCPhqHj#tLA>>d#U11iC0KR2D z0tKz)aB>7Wk{pGn9!+XVjzr`b1PT$TLU1C2Q}Dgu5(IZ5xC_BO2<~m0ub_ZrI?3x+ zID?!?&O)FFfno$omXou|IpkafR0xzIpyAwcD~cBf_vEhzHEI`;OR%;CPr0OKaw!6( zoUEN}5txw6$rZZhQ&V-V#z|L}O2@6jD^u$UN3J4Q=itr|P8M6pRf4cicx%aZALm++ za3Lsb$1`mrHCA06~CUsej z#*n@*$KvgRFx(e2{M~t{9po;Zjdvo@ubJG9KqVg?5}Bo2_kMDPe!X78P57+3^MXU< zae-tdd6+yxeoG!DanP$qpg#fw5U4?*b|ra&{Ej?Ho+3{pP=~-|1m+-sH>t~QS3(FN zKTlr7g&TQ+{0V`21O~N`m&nTqG$Jq_TNi%ZB*`1PO%j2D{J{PN-Tx8)Y!El_n+7EC zN5UkzzmiV`k~QQ#@;CB6`8)Z5d`LbbA0yC&z+eQ1ATShxVF(OIU<3jq*N}gZf09qh zXXJD81^JSEg}^8TzCd6!0$Kz(1Q32GgTPmOboe4;3JRVr*yK4-EdmGECSSpUf(E;zBGZ2`$T(Ff&qLOucAod)d zlkxJ%o;-*g7@H}0)=Xs~FuPNuxq<`BKE@BKfGW~00K4YgW(vF8{LdFqW>~;HK2?_K zVQ9xt8md~ifPPdZRfWI;1QsIj^>V5|HGslgT!g?11Xl9?QFDqK@TN~;k}c*!&r?Hi zC5)>rYA7{~aHB@#H{yCt-^Fa7hTX@NUs^VgfahFN}61CQ*}lE;^#yRBD>RtSXTOKRU`n(K*j7YL0Fmo|=uo zY6RA{P;)7qRIEeb@aKRR833=rOt1aN0jOq!xRqa4SI)nWVT)H#8wHZJ)Jkd-~a*#`SRGawz$#QLVZi&EZ`dicHy0$I)SzK9d(jA1%Bhx<1EP?2<+r* z<6NA6pnk-`E=OH6SkprNfCE~`(6hRs2;cy-liwaEC4QnV@;}FgYOm|;asz=wTxfx} zJkhgepl5wf-%efKp&tIu`#{aK1ymrruD0Q*Wtv)O!TJMF5Ak69}9{07tSPKBA_90SeZ}PX2nl*i^3znlea_ z>!ijB4jodVLHeCe8j;XB*2o||rIQXyaO@asYLI@fldkwEH8V(m)JZQUxDi&gH4hS9 zgt|(EwnyL`FH4jfyI>2^t~AaTE+TM=uSyhaJZN8mWHs$cd(kr5o0ijkz+nWgAaD%< ztngb1+(F*9zCrwpN>reqYg%%zx+1y?w^Qk2x`bBIrL>wZqs!?ET0{4vD-pPdbS%7&!0!k= zK;R()j}X9{#S;YnK;X}HbhV+Hplfm6>#pmO&496<{NEfKV8rSEpw<~Ku6f_{iAJ!suw8Q9Cvl|WF8>%43b@kWRC zZv<^R_5WVqmiW&GR);1Siea$s8H~=hnPCyM)9K!V>Bg8~FpLo#ji9}*H8BRaCQj&D z6MSk8YiY(<>aj8wI;;*DtD(QeW2hR&j_Hk|GWLv^abO%7C&rm^VO$wE2Cv%*L1zSA z5OhV*4M8mFji3ZUDS{rYjKlzy@nU3*x4@a{ql4<%3Dp}xKLq_T31L8+LsmA3jlf_T zC4ycZV3}xLP5T`atNY->3_+RUi0PKr2|1Zb(LwHupuCw$MX-;aZcHYVqr)_s$;Nbp zJ{S{|hv^1=`S;mwRw|~^V-=>$AY zZ{7dVbYkW(*oB&zxd_HJGxHIQ*Fm*n7BNc=P?zYSCg{wkZz}1`XT_{!))=6!)})x+k->>`E3=8&%xqz{GHuK@W;^o@vxC8<1XgJZf>@<#2&N;LfnX+rSqNq$nA6Ja z?m)V~1LAH12ig zrVjB91dE!PTL=~#jC+^4XF&X`4snUjeD`(6Rq^7&URIBpKMjcg&>>cTauzG3o_WO* zIJPo>F|V07%-_sg<{k5%`M?V3ek??=9Ki|%H3;@YuoA&41gjD3kKh1ZY=t%JSki!- zW&eq-tTBSMoyhAyi>-|vvGvPH8>|7g7lL&i8er|Q2L3IQc3@{+S$B+`#cnmQnZ<53 zh#yq!X64Cx>!GtU9rOkat}~2oDYmlmXBB$rY@iN$)8}Wc!`Vb^Y&L>bvXN{Q8_mYB zv1}Y0&nEEpC1%(ezd*VOp>1W8IzXlx+EHw#&bVABM7$qZ8`@EDyuKY3!>V=Y@Ft5o z(P?z9`>*Y&PJA_Noep0uf?qbX^$3pD;mdDihhPM3lWrm7aHt|$SX}p5A^6pQwW9PJ z5<5z8eA&mXfYq{N3<^Lx1x&yf6D{~!JOlOyE7J+=B;7qHA~>m;os8gQerBn?b_V;k zz`T{6$Zs4xMMg%u;vT}jg1q#IN0zZKX`%n;&Y6>a7s3Nm# zYu9c)diJt)arKb#rz&(0&0bf?0$JP{h{Z2CoVT+V8#_2UIpe=G@$*|;!}p7=QCBwN zzfih^k@6*#9@-K?giEoain|0nEA{NOkUTjo#pDSLr^&c4vwXA6Q`v563DLvY(F_7&X1zGmOR zEfAmBj{9@)8w7XY$1NB5rB&;+xW^$R4LyzrjA%hQ?s1gh7gyB7#p))p+&id`LeCK) ziyc&8%E6DWBJ3tK#+9m0)+{tZaCb*(E$oha`TCLgc`z=uh35MD*6_QP;CL%I3>OM} z32lXTLVKY?EOZb$3Y~D%{tAMawwP0g5Iln5Q3Q`8_#J|$@GbwzsDM_%MI1|DjJt2N=ZPeqL1yLk!|$ZC*8X;FIA>gZ#wjnYS?3AU^r8 zS-ddGaP~AVQAcRs(h$E&Xn|iI?2StiZ@LezH57CR9fouAQS?N5KD`jX4Y&lSuPr!b zT}5xl?*i_k_u!2408TNF&`0U>_)R}|oKj3?Rx^j0+sqyO#@#ccIHLrk45MPBenw43 zBaOxwO*Wcuw9aUQ(I%rUMr}shjdmFAGTLLbPiu6>sNLwi(N9K~jIJ16GrD1P%jk~L zU87gVU5xFF<;F3_8OBw{BaJ5-Pcoioyux^u@fzb+m@|DSSlbI&G$sCh;Cd*7(OjekzGFfBNYI4Zrg2`i%P-HH$ z5Lt?>MOr73x5!VFCMp({ipoS9QKhI_G*&cK)GAsp+Gxg_nVJQeDb4zu{b+W{?6KJk zb7+}7OQ+`-(*+}GUSJkUJIJj6WAJil}iYJ=4#s|!|ltR7fBvU+0m zr`0p7w^rKs)&gs2O)^Due+E6x(jnJm6jggIs zjjK(NO{Ptq%}AS3Hec9iZ5GlKVp4+^%`K#9lTh`Xh*3#D6 z*4EbE*1}*tyyDwu`gNvdgzCv@5nN zv#YS{XIEv%*|pehvO8vX!tSKqX}cfn&e*lvowxhR?vmXVyK8pO>|WTtvU_d!x7|Ct z5BAWWvS;nP+8f)8?0xJ@?HlaBu%BYT!v3WFEioas5C@6l#D(HI@j!8dc%*o|c#3$w zc)56`Si4%hS==VxF5V&jR(w``PJBUpQG8i^ReW9iyZE8_vG@=1Q}GM&EAeXw(!tWf z%OS)e-l58&zr#?6Q4XUWIEQf#;~geCOmmmzG|#EUX^m5>(|V_kPTxEIm2W#=$!1F?_B6y?5uL`=iKP5b)M)v*?Fq-bmtE)tc#tClZ(P7(xtCUs!O`dLYL(( zn_RZJ9CXos=kna;wX3tM+*RQk;~M9h;F{!`8iJv4;5+n(ggiDl?63GC`KuLq7NitkAQu2jF zE14|OE|e^mtdg`zc1m_j_DT*(j!2G5j!V9mT$6T_dP-$dxztDMCk>D)q`}fqX^u2c zS|BZwmPkvbWzqrCCg~9AFzE>CDCubFWa(7tbm>g#Vri>%y>z2=vvh~_Tj??B3F%4c zMd@YfRq1u<@6w0T$I?GMl05P}3OtHDO0*u+JihkW?6K8jo5wdEJ3V%L?Dg31anR$i z$G0ArJ+69O_qgeC+v8`CUp(%4-1m6k@yO$eXE#r&XR7BQ&pDoZJa2lw_pmgwbg5f*DkL;Ui-XG zd;Q?0z3O$#>yFo5ulrsPydHTy@p><_mpRCsWG*r{S#OzC<|&iO;$?}lWLb(VO_m|c zk`>EJWo5Do*&tb?Y_M#ojFU~3O_$A-@v>iJPi4<#FJ*suclS>A&h{?xR(qFwYrN~c zCwfozp60#Ddy99Q_cz`^FH8x$oq=c`?~i{@7vx#d;j8n&-)MW*WPcvKggk+ zk~8w2a&x(*+*^025P6t9Lf%)NCeM&($qVIG^8WG~d7XTue1@Et&y_Eb zFOn~nx5!t@*T~n&H_DI5kI7HSPs&frf0Vb&FUT*-ugI^-Z^-}dW8EjLPiddAeYCB8 ze(3Yar<+f2pFTc*K7l?#K2bi&KB+z#KG{BbJ_SBSJ|#W_eCm7#`84?q^%?Fn*JruU z8lP654L)0aw)yPv+2wP>=akQRpPzhw_W8}{cb`W-Pko;Iyz+VN%lg{;y8A}>#`qTd z*85KIo$Nc!cZTmQ-`T!%eV6*K_ub^X)pxtrccLN&Eu*6n?>ep?-;eef?7X(*5%Mkl%d24St9G&imc- zd+RUq@9y8z-`wBI-^Sn8-_>8{pWvV7-`}6}pXxu?e}VrZ|E2yd{_FfV`fu@X^Z&+w zr@!`)|0(~U{2%-O9Y6*!0bK%&0z?5;0X6})0rmk70ZswRfRX?durOeCKx@E;fXxA0 z1GWX62)Gb%Dd1|rjey$$KL@-D6a-R%Y+%!4mi-a&nX3W5d&O$gc(^nK9pL2rXCf}MkYeRiP{X-R@A)(=+k)eG<(?T;tb3*e&i$Y66 zCx*6#J_>US%MGgts}8FPs}E}m8yYquY*g69u*qRl!)Ap27WN|SRoLsWx8arHP2uCh zCxlN9pB6qde0KP}@P*-v!#9R+3EvjJBYb!GzVL(LN5YSVp9sGb{x||e^oo!~ghr%B zXp1BIMN~#qM>IqUBvo`4H26n_C_3tI2>^_;zY#Bh-(qQMEn|YKjLY` zE2WvzQR$>~R=O&El+nsKWumgLGEJGO%u(hmifyzeZ5an>?D5X|8MmbJ7UO7WK zQ^_kADHki3Di0`6D}PkBD=#Q7DX%E+X_fbt50sB1m60it*^zmXg^?wZn#jt?{*kqj z^^r3o+ak|LK8k!9`8x7#J#M~d;n5?bM@Ns3o*lg)dQr4? zY4nQdRncps*G0EQ?~XnneLebJ3>o7b6BH8{6CaZhlN6(gX^0sbGa}}Tm@zTqVkX2) zikTO)Am;0sC9%R-^H|GR>sZ@ZE_Q0{ve@OZt76y2u8-XmyES%u?9SLdu|LF~jXfWG zG4@LAwb+}ncVd5uy%&2w_U|}4&NEIKR~$D~8~0`0;<(LmyW;l89g6!l?pWNpxEpcz z;~vI6i8qe7h_{b-j+e*##s|cw#}~v`##hBx#}9}f7e6h2QT)pIHSz1>H^lFZKN^22 z{%ZV<_}lS!IUTY^bK_XM*9%LJPQy99B9V}djxFd;Z0EJ2wN zoe-CxO-x8m$WJIrP$hhkFezbb!irabjXi;=06*iCYre689$_Py8wIX5!t%dx^g%K1_U-1d~jX?2;Uk zoRi#=BuSo0-bsCulu6M^aY>0ueUs9XGLv$W@{%;#q{^h~q?)87NoSJUlg=kyOqM5y zB}XJjCdVYVChthzmAof;e_yMCoz-_~-{!u{`>skMQbZ|kDUuY=6z>$D z6#o=ON=Qn0N@Pk*N_>hcr7Wc)rC&-_%7B#Gl=_rGDUB&ZQii9DOqrjuBjsw!yHtnN zxYUZ&38~uEsb^B3r2duqck25zL7FhFdzx9AMVfV5uQalhUT9Elg`pTamUptu<{++P1VEX}i<*rkzTAnD!x^O*c*N znQoD8mF}7@P4`Ndr~9WX(nHe2(xcNe((BSkrjJb@uT7tnJ~e$t`hxUD=}XgF(pRRh zPT!EeE&V|Hsq`xuRE9hwC!;*0Dx-f!ZAL>zQ^wGY;TaP$=47;HY{=N0(U$Q|#;%OL z83!^BXB^Eqk#RlaR>qx-yBWV`+|PKB@hIa-#?y@F880(?WcJC-$sCrsDD!aUuUS-< zbCxnIF{^J@T9!5=t1zn~t6x@CR{yM;th%g`S);R1*4V7^SrfBXWwmAP%-WN+FY9pD zw^_%sPGnuox|?-B>p|AztY=v-vR-Aq&StaCvL)G`+1}Yc+5Xvz?2zp6?8xkx?D*{B z?9%MA?27Du+11%K+4b3jvYWDpWDm=plf5nbQudo1yPW8pDs9gAoK-nTa!%*`nA4tf zKIeMQuQ~T~9_BpBd7AS)=VdODOXmu6yXBhXn&x`t2IofPM&`!kCgvvRrsk&Smgbh{ z*5uaZj?Cq9$K;O7os>HzcY5y3+-12Nau4So%{`HOD))!nv$^MUFXmp!y`Fn3_eJhs zxo>jc=DyDZc|;zSr)BcGhB+vH4%+^Z9f07vwL>Uz*>Xzd!#}{+ayt{0sS4@~`FJ$iJ2UB>!yzC?E>x zg02Nd1ttZi1>yqFg2;lHg7|`@f|P>vf~}4$}1`;DlRH3swk=~sxBHD$$mpl1U|e$=s6pC0~~;E?HW# zzGPF$){^ZdJ4<$#Tr9a;a=+w3$>Wk|B`-?;DtV(4s?1e3DqEFU<)T%&sU#{7Rj?{v zRjevim8<%xs#P_rdR2pJuxglUq-utWSItq)Q!P*}QY}@rs8*;}tJbR4sZOZwm3A%l zEKM&RTKaYA?$XPpFH1kDp_)=NYLVJX-Aiq+c2v8l-PFG70CkW$R2`v?RIAiA>Otxz z^$_()^=LIxYrj;_Qh%*pq+X(4r{1jIs@|^Nt=^|Ts6MPdtG=PWt-hak%2UiqjQ8RS@pjo6@s%h4&(QK*QUAedNyUL#`FIQfxyjgjt z@|VirDqmFoRjGYb`L0S(1*^y^x=LD=RyCq(Mb(C?Z>kPd9j-cCb*1Wh)y=BgRgbIw zta?`Uvg&o!-_>L_Q!T9STHUkStlFYlTtd6OUuTH8?sZOuXtS+rC ztFFK;;X~CwRG+DCufEXVvwu+kkp5x)l>-C=j0TttFdfh{et>qslmXKQ%oxDee5mbK tYg{X;?NK|dc3kcF+KIJOYX7W#Uni)8byP?D5gNXQeLEYEhVQzn{|BOfjZ^>t delta 16313 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 diff --git a/Todoey/Controller/TodoListViewController.swift b/Todoey/Controller/TodoListViewController.swift index 6cf504d2..97ee9c3d 100644 --- a/Todoey/Controller/TodoListViewController.swift +++ b/Todoey/Controller/TodoListViewController.swift @@ -4,46 +4,43 @@ class TodoListViewController: UITableViewController { var itemArray = [Items]() - // var to keep the data entered by the user - let defaults = UserDefaults.standard + // Get the URL of the document directory for the current app's sandboxed environment + // FileManager.default: The default file manager for the app. + // urls(for:in:): A method to get URLs for specified directories in a specified domain. + // .documentDirectory: Indicates the document directory, a location where you can store user-generated content. + // .userDomainMask: Specifies the user's home directory as the domain for the search. + // .first: Retrieves the first URL from the array of URLs returned by urls(for:in:). + let dataFilePath = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first?.appendingPathComponent("Items.plist") + override func viewDidLoad() { super.viewDidLoad() - // Get the URL of the document directory for the current app's sandboxed environment -// FileManager.default: The default file manager for the app. -// urls(for:in:): A method to get URLs for specified directories in a specified domain. -// .documentDirectory: Indicates the document directory, a location where you can store user-generated content. -// .userDomainMask: Specifies the user's home directory as the domain for the search. -// .first: Retrieves the first URL from the array of URLs returned by urls(for:in:). - let dataFilePath = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first - print(dataFilePath) + // items of the table // Create instances of Items using the initializer let newItem = Items(title: "Find hope", done: false) let newItem2 = Items(title: "Save the world", done: false) let newItem3 = Items(title: "Buy peanuts", done: false) - let newItem4 = Items(title: "Avoid carbs", done: false) - + // Append the new items to the itemArray itemArray.append(newItem) itemArray.append(newItem2) itemArray.append(newItem3) - itemArray.append(newItem4) - - if let savedItems = defaults.array(forKey: "TodoListArray") as? [[String: Any]] { - // Assuming each item in the saved array is a dictionary - itemArray = savedItems.compactMap { dictionary in - if let title = dictionary["title"] as? String, - let done = dictionary["done"] as? Bool { - return Items(title: title, done: done) - } - return nil - } - } - + // + // if let savedItems = defaults.array(forKey: "TodoListArray") as? [[String: Any]] { + // // Assuming each item in the saved array is a dictionary + // itemArray = savedItems.compactMap { dictionary in + // if let title = dictionary["title"] as? String, + // let done = dictionary["done"] as? Bool { + // return Items(title: title, done: done) + // } + // return nil + // } + // } + } // MARK: - Tableview Datasource Methods @@ -67,7 +64,7 @@ class TodoListViewController: UITableViewController { // Set the text label of the cell to the corresponding item in the itemArray defined above cell.textLabel?.text = item.title - // terniary operator to change the done + // terniary operator to change the done cell.accessoryType = item.done ? .checkmark : .none // Return the configured cell. @@ -82,6 +79,9 @@ class TodoListViewController: UITableViewController { // Toggle the 'done' property of the item at the specified index path row itemArray[indexPath.row].done = !itemArray[indexPath.row].done + // call to the function saveItems + self.saveItems() + // reload the table tableView.reloadData() @@ -98,7 +98,7 @@ class TodoListViewController: UITableViewController { var textField = UITextField() let alert = UIAlertController(title: "Add New Todoey Item", message: "", preferredStyle: .alert) - + let action = UIAlertAction(title: "Add item", style: .default) { (action) in // create new item @@ -110,11 +110,12 @@ class TodoListViewController: UITableViewController { // Use the captured text field to access the entered text and add it to the array self.itemArray.append(newItem) - // keep the data entered by the user - self.defaults.set(self.itemArray, forKey: "TodoListArray") + // call to the function saveItems + self.saveItems() - //reload the table with the new entry + // reload the table self.tableView.reloadData() + } // Capture the textfield when it's added @@ -126,10 +127,36 @@ class TodoListViewController: UITableViewController { // Capture the reference to the text field for later use textField = alertTextField } - + alert.addAction(action) present(alert, animated: true, completion: nil) } + + + // MARK: - Model Manipulation Methods + + func saveItems() { + + // Create an instance of PropertyListEncoder, which is responsible for encoding property lists. + let encoder = PropertyListEncoder() + + do { + // Attempt to encode the array of items (self.itemArray). + let data = try encoder.encode(itemArray) + + // Try to write the encoded data to the file specified by self.dataFilePath. + try data.write(to: dataFilePath!) + + } catch { + // If an error occurs during encoding or writing to the file, catch the error and print a descriptive message. + print("Error encoding item array, \(error)") + } + + + } + } + + diff --git a/Todoey/Models/Items.swift b/Todoey/Models/Items.swift index 0da975a7..6dc20bb8 100644 --- a/Todoey/Models/Items.swift +++ b/Todoey/Models/Items.swift @@ -1,6 +1,7 @@ import Foundation -class Items { +// It needs to be encodable +class Items: Encodable { // Properties var title: String var done: Bool From 2fdd39fdbad76aac4810f6a0e4480ac63bb2102c Mon Sep 17 00:00:00 2001 From: jhammad Date: Thu, 7 Dec 2023 16:25:13 +0000 Subject: [PATCH 12/21] Decode data with NScode to show in the UI --- .../UserInterfaceState.xcuserstate | Bin 33058 -> 33290 bytes .../Controller/TodoListViewController.swift | 43 ++++++------------ Todoey/Models/Items.swift | 2 +- 3 files changed, 16 insertions(+), 29 deletions(-) diff --git a/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate b/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate index 992bbf3bc8d2baf38249e89c5fac29889a93d2ca..8bdead0a480854017d3b53406c5bfe4eda1f1780 100644 GIT binary patch delta 15289 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 D=-vXI delta 14883 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 diff --git a/Todoey/Controller/TodoListViewController.swift b/Todoey/Controller/TodoListViewController.swift index 97ee9c3d..00950e11 100644 --- a/Todoey/Controller/TodoListViewController.swift +++ b/Todoey/Controller/TodoListViewController.swift @@ -15,31 +15,7 @@ class TodoListViewController: UITableViewController { override func viewDidLoad() { super.viewDidLoad() - - - - // items of the table - // Create instances of Items using the initializer - let newItem = Items(title: "Find hope", done: false) - let newItem2 = Items(title: "Save the world", done: false) - let newItem3 = Items(title: "Buy peanuts", done: false) - - // Append the new items to the itemArray - itemArray.append(newItem) - itemArray.append(newItem2) - itemArray.append(newItem3) - - // - // if let savedItems = defaults.array(forKey: "TodoListArray") as? [[String: Any]] { - // // Assuming each item in the saved array is a dictionary - // itemArray = savedItems.compactMap { dictionary in - // if let title = dictionary["title"] as? String, - // let done = dictionary["done"] as? Bool { - // return Items(title: title, done: done) - // } - // return nil - // } - // } + loadItems() } @@ -152,11 +128,22 @@ class TodoListViewController: UITableViewController { print("Error encoding item array, \(error)") } - } + func loadItems(){ + + // access the data from the dataFilePath + if let data = try? Data(contentsOf: dataFilePath!) { + // create the decoder + let decoder = PropertyListDecoder() + do { + // decode the data + itemArray = try decoder.decode([Items].self, from: data) + } catch { + print("Error decoding the data, \(error)") + } + } + } } - - diff --git a/Todoey/Models/Items.swift b/Todoey/Models/Items.swift index 6dc20bb8..0766d460 100644 --- a/Todoey/Models/Items.swift +++ b/Todoey/Models/Items.swift @@ -1,7 +1,7 @@ import Foundation // It needs to be encodable -class Items: Encodable { +class Items: Encodable , Decodable { // Properties var title: String var done: Bool From 490386f835d3f15303d6065a6765b522cf0dcb95 Mon Sep 17 00:00:00 2001 From: jhammad Date: Tue, 12 Dec 2023 16:25:49 +0000 Subject: [PATCH 13/21] Set CoreData model --- Todoey.xcodeproj/project.pbxproj | 21 +++++- .../UserInterfaceState.xcuserstate | Bin 33290 -> 47858 bytes Todoey/AppDelegate.swift | 69 ++++++++++++------ .../DataModel.xcdatamodel/contents | 7 ++ Todoey/Models/Items.swift | 16 ---- 5 files changed, 71 insertions(+), 42 deletions(-) create mode 100644 Todoey/Models/DataModel.xcdatamodeld/DataModel.xcdatamodel/contents delete mode 100644 Todoey/Models/Items.swift diff --git a/Todoey.xcodeproj/project.pbxproj b/Todoey.xcodeproj/project.pbxproj index 8b2543c6..1f8b7233 100644 --- a/Todoey.xcodeproj/project.pbxproj +++ b/Todoey.xcodeproj/project.pbxproj @@ -12,7 +12,7 @@ EB2BE501239524DB00FB933B /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = EB2BE4FF239524DB00FB933B /* Main.storyboard */; }; EB2BE503239524DC00FB933B /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = EB2BE502239524DC00FB933B /* Assets.xcassets */; }; EB2BE506239524DC00FB933B /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = EB2BE504239524DC00FB933B /* LaunchScreen.storyboard */; }; - F6AD32A92B1F9B7F00396DBF /* Items.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6AD32A82B1F9B7F00396DBF /* Items.swift */; }; + F696893A2B28BB870063C5EB /* DataModel.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = F69689382B28BB870063C5EB /* DataModel.xcdatamodeld */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -23,7 +23,7 @@ EB2BE502239524DC00FB933B /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; EB2BE505239524DC00FB933B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; EB2BE507239524DC00FB933B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - F6AD32A82B1F9B7F00396DBF /* Items.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Items.swift; sourceTree = ""; }; + F69689392B28BB870063C5EB /* DataModel.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = DataModel.xcdatamodel; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -77,7 +77,7 @@ F6AD32A72B1F9B5600396DBF /* Models */ = { isa = PBXGroup; children = ( - F6AD32A82B1F9B7F00396DBF /* Items.swift */, + F69689382B28BB870063C5EB /* DataModel.xcdatamodeld */, ); path = Models; sourceTree = ""; @@ -171,7 +171,7 @@ buildActionMask = 2147483647; files = ( EB2BE4FE239524DB00FB933B /* TodoListViewController.swift in Sources */, - F6AD32A92B1F9B7F00396DBF /* Items.swift in Sources */, + F696893A2B28BB870063C5EB /* DataModel.xcdatamodeld in Sources */, EB2BE4FA239524DB00FB933B /* AppDelegate.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -372,6 +372,19 @@ defaultConfigurationName = Release; }; /* End XCConfigurationList section */ + +/* Begin XCVersionGroup section */ + F69689382B28BB870063C5EB /* DataModel.xcdatamodeld */ = { + isa = XCVersionGroup; + children = ( + F69689392B28BB870063C5EB /* DataModel.xcdatamodel */, + ); + currentVersion = F69689392B28BB870063C5EB /* DataModel.xcdatamodel */; + path = DataModel.xcdatamodeld; + sourceTree = ""; + versionGroupType = wrapper.xcdatamodel; + }; +/* End XCVersionGroup section */ }; rootObject = EB2BE4EE239524DB00FB933B /* Project object */; } diff --git a/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate b/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate index 8bdead0a480854017d3b53406c5bfe4eda1f1780..dc77d7217cced7efb741989c6aebb79c055ae4ab 100644 GIT binary patch literal 47858 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 delta 17471 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 diff --git a/Todoey/AppDelegate.swift b/Todoey/AppDelegate.swift index 122723bd..5e8c1dc5 100644 --- a/Todoey/AppDelegate.swift +++ b/Todoey/AppDelegate.swift @@ -7,6 +7,7 @@ // import UIKit +import CoreData @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { @@ -14,36 +15,60 @@ class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { - - // print the directory of the simulator tp check that the info was stored - print(NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).last! as String) + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { return true } - func applicationWillResignActive(_ application: UIApplication) { - // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. - // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. - } - - func applicationDidEnterBackground(_ application: UIApplication) { - // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. - // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.\\ - print("applicationDidEnterBackground") + + func applicationWillTerminate(_ application: UIApplication) { + // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. + self.saveContext() } + + // MARK: - Core Data stack - func applicationWillEnterForeground(_ application: UIApplication) { - // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. - } + lazy var persistentContainer: NSPersistentContainer = { + /* + The persistent container for the application. This implementation + creates and returns a container, having loaded the store for the + application to it. This property is optional since there are legitimate + error conditions that could cause the creation of the store to fail. + */ + let container = NSPersistentContainer(name: "DataModel") + container.loadPersistentStores(completionHandler: { (storeDescription, error) in + if let error = error as NSError? { + // Replace this implementation with code to handle the error appropriately. + // fatalError() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development. + + /* + Typical reasons for an error here include: + * The parent directory does not exist, cannot be created, or disallows writing. + * The persistent store is not accessible, due to permissions or data protection when the device is locked. + * The device is out of space. + * The store could not be migrated to the current model version. + Check the error message to determine what the actual problem was. + */ + fatalError("Unresolved error \(error), \(error.userInfo)") + } + }) + return container + }() - func applicationDidBecomeActive(_ application: UIApplication) { - // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. - } + // MARK: - Core Data Saving support - func applicationWillTerminate(_ application: UIApplication) { - // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. - print("applicationWillTerminate") + func saveContext () { + let context = persistentContainer.viewContext + if context.hasChanges { + do { + try context.save() + } catch { + // Replace this implementation with code to handle the error appropriately. + // fatalError() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development. + let nserror = error as NSError + fatalError("Unresolved error \(nserror), \(nserror.userInfo)") + } + } } diff --git a/Todoey/Models/DataModel.xcdatamodeld/DataModel.xcdatamodel/contents b/Todoey/Models/DataModel.xcdatamodeld/DataModel.xcdatamodel/contents new file mode 100644 index 00000000..bea63da7 --- /dev/null +++ b/Todoey/Models/DataModel.xcdatamodeld/DataModel.xcdatamodel/contents @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/Todoey/Models/Items.swift b/Todoey/Models/Items.swift deleted file mode 100644 index 0766d460..00000000 --- a/Todoey/Models/Items.swift +++ /dev/null @@ -1,16 +0,0 @@ -import Foundation - -// It needs to be encodable -class Items: Encodable , Decodable { - // Properties - var title: String - var done: Bool - - // Initializer - init(title: String, done: Bool) { - self.title = title - self.done = done - } -} - - From c1900d3645e7c0a8d0c410ccdae54b5d093d3258 Mon Sep 17 00:00:00 2001 From: jhammad Date: Tue, 12 Dec 2023 19:42:37 +0000 Subject: [PATCH 14/21] Save data to the DataModel --- .../UserInterfaceState.xcuserstate | Bin 47858 -> 48667 bytes .../Controller/TodoListViewController.swift | 77 +++++++++++------- 2 files changed, 48 insertions(+), 29 deletions(-) diff --git a/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate b/Todoey.xcodeproj/project.xcworkspace/xcuserdata/javierhammad.xcuserdatad/UserInterfaceState.xcuserstate index dc77d7217cced7efb741989c6aebb79c055ae4ab..6b0508dc4b96f34a7e9afd0e964a2632cb866f08 100644 GIT binary patch delta 20867 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