Colección de citas famosas - Frases elegantes - Quiero encontrar un método de aprendizaje o tutorial para el desarrollo de IOS y pedir ayuda.

Quiero encontrar un método de aprendizaje o tutorial para el desarrollo de IOS y pedir ayuda.

Tuve la misma sensación cuando aprendí por primera vez sobre el desarrollo de iOS. Siempre he querido saber el principio y lo que sucede dentro. Siento que estoy en una niebla. Pero así es el desarrollo de iOS. Está cerrado y en la niebla...

Por ejemplo, aprender a desarrollar iOS es como desmontar un coche:

Las materias primas más bajas son el plástico y el acero.

Luego utiliza estos materiales inferiores para hacer el motor y los asientos.

Finalmente añade tornillos de escritura, pegamento, etc. Montar el coche.

IOS está escrito básicamente en inglés y, como es cerrado, la documentación es bastante buena. Cuando encuentre un nuevo marco:

Comprenda la funcionalidad del marco

Puede resultar útil buscar en la documentación la guía de programación de un marco.

Comprender la estructura de herencia de las clases de marco

Escribir programas de iOS no está necesariamente escrito en OBJC. Muchos marcos están escritos en C. Los conceptos básicos para aprender a desarrollar iOS se pueden aprender de lo siguiente. dos Aprendizajes en cada aspecto:

Conceptos básicos (materias primas acero y plástico)

Obj-C-Grammar entiende @interface @property y siempre sabe para qué se usan y cómo usarlas a ellos.

Bibliotecas básicas: cadenas NS, matrices NS, diccionarios NS, etc. aparecerán en todos los marcos.

La mayoría de las categorías en iOS heredan de NSObject (no he visto ninguna que no herede de NSObject...)

También hay algunas copias de NSCopy similares (recordadas por @李宇龙La interfaz ( que debería llamarse protocolo más adelante) no se utiliza especialmente y no es necesario entenderlo al principio.

Cuando NSObject crea un objeto, debe inicializarlo mediante el método init después de crear el método +(id)alloc. Este init se refiere a todos los métodos anteriores a init. Por ejemplo, el método de inicialización de UIView es - (ID)initwithframe:(cgrect)Arect. Existen muchas convenciones de este tipo sobre la denominación de funciones en Objc, similares a la función __xxx en Python.

NSString cadena NSArray matriz NSDictionary estos deben ser claros. Otras clases son rutinarias.

Las clases con Mutable como NSMutableArray representan la herencia mutable de la clase inmutable correspondiente, como NSMutableArray de NSArray. Todas agregan métodos que pueden cambiar el contenido del objeto, como

-. (void)addObject:(id)anObject agrega un objeto.

-(void)eliminar objeto:(id)un objeto elimina el objeto.

Lo anterior es sólo un resumen aproximado, todavía queda mucho por aprender. El SDK de iOS5 ya admite la liberación automática de ARC, pero todavía existe un pequeño problema al admitir iOS4. Si desea desarrollar una aplicación ahora, es posible que necesite métodos de administración de memoria, como la liberación de asignación y la retención automática en el método MRC anterior. Pero si comienza a aprender a compilar ahora, es posible que la aplicación iOS5 decente se haya vuelto popular y pueda usarse directamente. en ARC (además, antes no había soporte para ARC. La comprensión es muy superficial y ahora el programa de desarrollo puede usarlo directamente. Hay una manera de reemplazar el ARC débil que no es compatible con iOS4. Si tanto iOS5 como iOS4 son compatibles, puede usar unsafe_unretained (por supuesto, también puede usar asignar directamente).

Una cosa más, cuando comencé a aprender, debí estar confundido porque la administración de la memoria se basa en el nombre de la función. Por ejemplo, el objeto devuelto después de usar una función con copia alloc debe liberarse. Simplemente hazlo sin lugar a dudas.

Archivo: Introducción a CocoaFundamentals

Biblioteca de alto nivel (motor)

Objeto de biblioteca Uikit-ui

La clase principal UIResponder es la NSObject más popular en UIKit La biblioteca subyacente puede responder a algunos eventos táctiles para establecer el foco y otras funciones.

La clase principal de UIView es UIResponder. La clase principal de todas las Vistas tiene demasiados métodos, la mayoría de los cuales son útiles.

UIView tiene muchas subclases y deben descomponerse una por una. Es fácil entender qué hace el documento por el nombre.

UIViewController es una clase que administra vistas y modelos (@中中中中中中 dijo que UIViewController se usa para administrar vistas y que la clase que administra el modelo está escrita por sí misma. Por supuesto, los modelos pueden También puede ser administrado por UIViewController, pero me temo que se convertirá en un código incorrecto. Es cierto que es mejor cambiar el modelo mediante notificación. Es mejor no usar el modo delegado para administrar todos los eventos en el dispositivo antes de sufrir tal pérdida. Por ejemplo, la rotación de la pantalla, el cierre de la pantalla o alguna otra lógica de control del programa también deben escribirse aquí.

Su función de inicialización es -(ID)initwithNibName:(ns string *)NibName Bundle:(ns. Paquete *). El Nibname detrás de Nibname es la interfaz diseñada en el generador de interfaces.

Ahora IB se ha integrado en XCode. El archivo xib se está abriendo.

IB usa IBAction IBOutlet. y código para interactuar. Estas etiquetas se remontan a sus definiciones. De hecho, para el compilador, no hay nada más que el reconocimiento IB. Una vez que se desbloquea el archivo XIB, es solo un montón de código. p>

Había una pequeña empresa frente a mí y vi que se usaba IB en los programas que escribí en ese momento y dije con desdén que todos usaban IB de alta tecnología, lo cual era una tontería. ¿Necesitas usar IB? Es cierto que IB no es muy flexible en muchos casos, pero cuando no se necesita flexibilidad, no se usa IB.

UINavigationController ¿Hablemos de NavigationController? /p>

Cuando entré en contacto por primera vez con el desarrollo, no entendía cómo cambiar entre vistas y vistas. Lo más importante es UINavigationController. Cada vez que haces clic en una pantalla de contacto. ser empujado a la siguiente interfaz

UINavigationController mantiene una pila. >-(void)pushviewcontroller:(UIViewController *)view controlador animado:(bool)animated es similar a presionar UIViewController en la pila

-(UIViewController *)controlador popview animado:(bool)animado es de El controlador uiview aparece desde la pila.

Incluso si su programa no empuja hacia la derecha como un contacto, puede usar UINavigationController para administrar la jerarquía de su ViewController. Puede escribir su propia animación para cambiar de vista y desactivar su animación predeterminada.

document:/view controlador pgforiphones/modalview controladores

También hay una UIWindow muy dolorosa, que casi lo olvido, porque iOS proviene de Mac os X, y muchas cosas se usan directamente . Esta UIWindow es que cada aplicación en iOS ocupa la pantalla exclusivamente, por lo que solo hay una UIWindow al mismo tiempo, excepto cuando mi vista está cargada en ella cuando se carga el programa. No he usado nada más todavía.

Apple siempre ha admirado la estructura del programa MVC y el controlador del modelo de vista.

En pocas palabras, la vista es responsable de mostrar el contenido y el modelo es responsable de guardar todos los datos, o utilizar algún otro controlador de operación de datos para coordinar la vista y el modelo para levantar el automóvil. Las vistas de ejemplo son modelos de paneles de instrumentos, controladores de motor y chips de control.

Datos principales: objetos de datos de gestión

Cuando aprendí CD por primera vez, pensé que era muy avanzado. De hecho, es una de las bibliotecas más fáciles de usar. Sus problemas estaban relacionados con el subproceso múltiple y el código adhesivo.

Construye un proyecto basado en Core Data y verás que automáticamente crea objetos de tres clases.

NSManagedObjectModel

La extensión del archivo de estructura de almacenamiento de los datos administrados es xcdatamodeld.

NSPersistentStoreCoordinator

En términos oficiales, se utiliza para gestionar el almacenamiento de datos subyacentes

Core Data no es una base de datos relacional ni un sistema de gestión de bases de datos relacionales (RDBMS).

Así que puedes almacenar datos de muchas maneras, como el sqlite más largo. Por supuesto, si es diferente, también puedes usar archivos plist u otros.

NSMangedObjectContext

NSMangedObjectContext conecta los dos objetos anteriores en un todo.

Todas las operaciones del CD se realizan a través de esta clase, que debe leerse con atención.

Para dar un ejemplo inapropiado, es como tres personas empacando ropa, una persona es responsable de NSMangedObjectModel, una persona es responsable de clasificar la ropa, usarla en invierno y usarla en verano, etc. , y también hay una persona que se encarga de coordinar su trabajo y avisarles si hay ropa nueva o hay que quitarse ropa anterior.

La clase NSManagedObject es un objeto de datos específico, en el ejemplo anterior es ropa.

En términos generales, XCode hereda este objeto y puede ayudarte a realizar búsquedas específicas. Hay muchos artículos de este tipo

NSFetchRequest

Se utiliza para ejecutar solicitudes de CD equivalentes al shell de instrucción de selección.

NSEntityDescription

El sql correspondiente utilizado para describir la entidad en la tabla

n predicción

El predicado es similar a la condición en la declaración de selección.

Las tres clases anteriores se pueden utilizar para solicitar datos. Consulte el tutorial para obtener más detalles.

Después de dominar el contenido anterior, escribir una aplicación es casi suficiente. La mejor manera de aprender es escribir y aprender por ti mismo. Cuando encuentres problemas al hacerlo, busca información. Siento que puedo aprender más rápido y con mayor solidez.

Las siguientes bibliotecas son todas bibliotecas con funciones especiales

animación principal: un marco muy poderoso y muy favorito para hacer animaciones, que se puede usar para escribir cosas hermosas con muy poco código Animación DO.

Quartz 2D: una potente biblioteca de gráficos 2D c

OpenGL: no es necesario introducir la superpotente biblioteca 3D c.

Core Image: escuché que iOS5 ha comenzado a admitir Core Image, pero no he visto CI en Mac, que es muy poderoso.

cf network: nunca he usado la biblioteca de red de alto nivel OBJC, que normalmente envuelvo con ASIHttpRequset. La red CF parece implementarse en c.

Ubicación principal: es raro y fácil obtener la ubicación de la biblioteca, OBJC

Fundación av: recientemente se está estudiando una biblioteca relacionada con la reproducción de videos.

Los anteriores son algunos métodos para aprender a desarrollar iOS. Si alguien me hubiera dicho eso en ese momento, probablemente habría tomado muchos desvíos. También se recuerda a los principiantes que habrá un período bajo de unos pocos meses cuando comiencen a aprender y que es fácil darse por vencido. Si superas los primeros meses, será cada vez más fácil.