¿Cuáles son algunas de las preguntas más importantes sobre el iPhone para el ejercicio?

En un pequeño equipo donde todos están codificando un proyecto por un time, quiero alentar un pensamiento diferente para que las personas aumenten su conocimiento de iOS, así como para get un poco más de variedad en sus actividades diarias. No estoy buscando preguntas de entrevistas que involucren tapas de pozos de logging, ni preguntas muy específicas sobre si drawRect: es parte de UIView o UIViewController. Estoy buscando más preguntas a lo largo de las líneas de https://stackoverflow.com/questions/1282830/uiimagepickercontroller-uiimage-memory-and-more – que tiene muchas preguntas y mucha información excelente. Lo voté.

Estoy pensando en enviar uno de estos temas sobre cada semana y luego tener una discusión al final de la semana con algunos ejemplos. Tal vez asigne una breve presentación sobre una base rotativa para que alguien se encargue de ofrecer una presentación de 10 minutos sobre el tema, premios otorgados, etc. – entonces, cuando surja alguna tarea que involucre ese tema, quizás no tengamos un experto, pero al less tenemos alguien que sabe dónde comenzar a search respuestas. Y quizás esté ansioso por descubrir más sobre la base de ese ejercicio.

stackoverflow, mientras que tiene "grandes preguntas", tiene muchas cosas que no son tan buenas y se desplazan en grandes cantidades diariamente. En las preguntas labeldas por iPhone clasificadas por votos, veo muy pocas de las preguntas que deseo. Voy a ver más a background algunas de las preguntas de alto range aquí, por supuesto, pero estas son las preguntas que las personas tuvieron que hacer, no necesariamente las preguntas de las que otros podrían get el mayor beneficio.

Hay muchos ejercicios para "progtwigdores", pero no son lo que se necesita. Quiero que sea específico para iPhone. Venimos de una variedad de orígenes y ya somos todos progtwigdores decentes.

Entonces, ¿cuáles son algunas cosas sobre el desarrollo de iPhone que crees que vale la pena conocer? ¿Pueden esas cosas networkingactarse en forma de una pregunta que lleve a un progtwigdor emprendedor a una respuesta satisfactoria? ¿Qué te hizo parar y pensar, te ahorró días, te empujó en otra dirección que fue divertida y / o rentable, aumentó tu conocimiento o simplemente te hizo sentir bien por haber descubierto la respuesta?

Cosas que todos los desarrolladores de iOS deberían saber:

  1. Categorías ( cómo ampliar las classs existentes con una nueva funcionalidad )
  2. Patrón de delegación (cómo implementar sus propios delegates utilizando un protocolo formal o informal)
  3. Bloques (a menudo una mejora en la delegación en caso de llamadas asíncronas, también útil de muchas otras maneras)
  4. Pasar NSErrors a través de pointers indirectos.
  5. NSInvocationOperation / NSOperationQueue para un código de subprocess fácil / limpio.

Con la llegada de iOS 5 pronto, es posible que desees aprender sobre:

  1. Storyboarding con Xcode 4.2 / iOS SDK 5.0
  2. ARCO

Como desarrollador de iPhone estableceré estos temas como una presentación de 10 minutos.

El nivel de principiante puede ser inútil si ya está desarrollado en Obj-C, pero es bastante útil para integrar un desarrollador de C ++ en su equipo

  • C ++ vs Objective-C, Objective-C 2.0, Objective-C ++
  • Gestión de la memory en Obj-C (retener, liberar, autorizar)
  • Patrón de layout de MVC
  • Salidas de IB
  • Patrones de layout en Obj-C
  • Use Stack Overflow antes de Google (no específicamente iOS)

Nivel medio / avanzado

  • ** Instrumentos ** (cómo usarlo) (muy importante)
  • Código de comentario (incluso si los selectores son expresivos, una línea o dos siempre es mejor)
  • Pruebas automáticas (¿Quién testing su aplicación de todos modos? :))
  • Manipulación de imágenes + advertencias de memory
  • Revisión de código de aplicaciones pasadas (lo que es bueno, lo que está mal)
  • Abstracción de código (vea qué module ha copydo / pegado muchas veces en sus aplicaciones y cómo hacerlo como un marco)
  • OpenGL ES (conceptos básicos, solo es útil si crea juegos)
  • Integración de maps (con llamadas personalizadas, pines …)
  • Envío de App Store (cosas para verificar antes de enviar la aplicación)
  • Compras en la aplicación
  • Notificaciones push
  • Datos básicos
  • SQLlite
  • Integración del service web
  • Kit de juegos
  • Reducción de los times de carga en la aplicación mediante precarga.
  • XMLParser (DOM y SAX)
  • Bonjour
  • Redes (comprobando que el iPhone se puede conectar al server)
  • Integración de networkinges sociales (FB, twitter, 4square …)
  • Usando GoogleMaps webservices
  • JSON
  • Core Animation (presentación muy larga)
  • Usando UIAcceloremeter
  • Vistas personalizadas
  • Crear salidas IB
  • Creando frameworks
  • Usando Core Audio
  • Geolocalización
  • Uso de frameworks C ++ con proyectos de iOS

Cosas que no sé:

  • Calendario
  • Uso de la biblioteca de iTunes
  • CoreTelephony
  • Messing con libreta de direcciones
  • iAd
  • Vídeo