Code Monkey home page Code Monkey logo

Comments (1)

timothy1ee avatar timothy1ee commented on August 28, 2024

I have a very important question for you. The answer to this question was the whole point of the exercise and the thing that tripped many people up. You're reading from self.todos. When are you writing to self.todos? It's very easy to create tables to display stuff, it's tricky to build tables that have controls in them. Please fix and resubmit as soon as you can.

Also, implement the saving/restoring todo items. Use either NSUserDefaults or file I/O, NSArray has a built-in helper to load/save itself to disk. NSUserDefaults is a very commonly used tool, you should practice using it.

The next level is to be able to implement the multi-line to do item. It's an illustration of what it takes to really fine tune a UI. It's an intermediate level task. Not incredibly difficult, but may take you as long as the rest of the assignment.

  • Note: there is a convenient method on NSMutableArray called exchangeObjectAtIndex:withObjectAtIndex:
  • Upon adding a new item, it would be nice to automatically set the focus to the new text field.
  • It's common to dismiss the keyboard on scroll.
  • Good job finding the editButtonItem that automatically tracks the states of the editing state of the UIViewController.

Here's my checklist of things I'm looking at when I'm reviewing this project.

  • Is the Objective-C code styling consistent with standards?
  • Did you create a custom cell or use tableview prototypes? Either approach is fine.
  • In your custom cell, did you configure the Auto Layout properties? Or, if you didn't use AutoLayout, did you set the autoresizingMask to UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth.
  • How did you sync the UITextField changes with the underlying array of todo items? There are many options:
    • Set the view controller to be the delegate of each UITextField. Track the index of the UITextField using the tag property or objc_getAssociatedObject/objc_setAssociatedObject.
    • Set the cell to be the delegate of the UITextField and create a custom cell delegate.
  • How was persistence implemented?
    • NSUserDefaults
    • File system

from todo-ios.

Related Issues (1)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.