2011-05-22 9 views
15

Estoy tratando de averiguar exactamente qué métodos (nombres) se convirtieron en hilos seguros en UIKit en iOS 4.0.Métodos de UIKit a prueba de subprocesos

He buscado a través de los documentos de Apple con poco éxito. Por ejemplo, un UIImage creado con imageNamed: no es seguro de usar en otros hilos (en ocasiones se deshará de su CGImage del hilo principal), mientras que imageWithCGImage podría ser (?). Además, he visto afirmaciones de que UIColor es seguro de usar en hilos que no sean el hilo principal.

¿Existe alguna guía definitiva sobre qué métodos son seguros y cuáles no?

Editar: Lo que es interesante es clases UIKit que es interesante para usar en hilos separados, como UIImage, UIColor etc.

+0

¿cómo sabes que UIImages's created with imageNamed: no es seguro? ¿Has tenido problemas con eso? – jasongregori

+0

imageNamed: no es seguro para subprocesos; vea el comentario de un desarrollador de Apple aquí: https://devforums.apple.com/message/360659#360659 –

Respuesta

5

De documentation de Apple:

Nota: En su mayor parte, Las clases de UIKit deben usarse solo desde el hilo principal de una aplicación. Esto es particularmente cierto para las clases derivadas de UIResponder o que impliquen manipular la interfaz de usuario de su aplicación de cualquier manera.

Por lo tanto, realmente no debería estar interactuando con cualquier cosa en UIKit en un subproceso en segundo plano.

+11

de acuerdo con las notas de la versión iOS 4 (http://developer.apple.com/library/ios/#releasenotes/General /WhatsNewIniPhoneOS/Articles/iPhoneOS4.html): dibujar en un contexto gráfico en UIKit ahora es seguro para subprocesos. Específicamente: • Las rutinas utilizadas para acceder y manipular el contexto de gráficos ahora pueden manejar correctamente contextos que residen en diferentes hilos. • El dibujo de cadenas y de imágenes ahora es seguro para subprocesos. • Ahora es seguro hacer uso de objetos de color y fuente en múltiples hilos. – jasongregori

Cuestiones relacionadas