El alcance de la respuesta depende del alcance de la pregunta: ¿qué significa “cómo”? ¿Qué sabes ya?
Para esta respuesta, supondré que conoce los conceptos básicos del desarrollo de iOS (familiaridad con Swift, MVC, clases y estructuras, elementos de la interfaz de usuario, etc.) y desea conocer las tecnologías y estrategias específicas para una lista de tareas pendientes. Si necesita más información básica, hay toneladas de tutoriales en línea, pero recomiendo encarecidamente el curso de desarrollo de iOS de Stanford disponible en línea (aquí y también en iTuned U).
Por lo tanto, propondré algunas estrategias básicas: tenga en cuenta que las mentes razonables pueden estar en desacuerdo con estas, y hay más de una forma de hacerlo.
- ¿Qué puedo hacer para que mi juego de iOS se vuelva viral, es decir, que llegue al punto de inflexión?
- ¿Cómo funciona el geofencing (desde el punto de vista del desarrollador)?
- ¿Habrá algún sistema operativo móvil en el futuro que supere a Android o iOS?
- Si desea desarrollar una red social Android e iOS para alrededor de 20 millones de usuarios, ¿qué tecnología es adecuada?
- ¿Alguna vez Android superará a iOS como la principal plataforma de desarrollo de aplicaciones para teléfonos inteligentes?
Para su modelo, deberá representar una lista (suponiendo que el usuario pueda tener varias listas) y un elemento de la lista. Decida qué incluye un elemento de la lista: por ejemplo, un título, un cuerpo, un indicador de estado completado y una fecha de creación. Cree una estructura para representar esto y cree una estructura que contenga una matriz de elementos y un título, que represente una lista. En el elemento de la lista, no olvide incluir una propiedad para la lista que contiene este elemento.
Use Core Data para almacenar los elementos y las listas: una tabla para todos los elementos de la lista y otra solo para las entradas de la lista (posiblemente solo su nombre exclusivo). Recomiendo usar MagicalRecord para administrar sus operaciones de Core Data.
Agregue una clase singleton “administrador de datos” para manejar el almacenamiento y la recuperación de sus listas del almacén de datos. Use un patrón de delegado para que su IU se comunique con esta clase durante los eventos de IU (como crear una nota, eliminarla, marcarla como completa, etc.). El administrador de datos debería encargarse de que estos cambios se reflejen en el almacén de datos de forma asincrónica y notificar al delegado de la interfaz de usuario para que se actualice cuando haya terminado.
Su IU puede ser lo que desee, pero un primer borrador clásico sería un simple UITableView que muestra sus listas, permitiéndole tocar una lista y ver los elementos en un segundo UITableView.
Para una aplicación completa, hay muchas más cosas a tener en cuenta: copia de seguridad en la nube y sincronización de listas, autenticación, un hermoso diseño de interfaz de usuario, etc. Si está haciendo más que solo practicar habilidades de desarrollo, debería considerar estas: consulte , muchas) aplicaciones de tareas existentes para ideas.
¡Buena suerte!