Articles of automático ref contando

Variables de instancia declaradas en el archivo de implementación ObjC

Estaba viendo el video introductorio de WWDC ARC y vi algo que nunca antes había visto en ObjC cuando un ingeniero de Apple habló sobre un ejemplo de Stack. El siguiente código se usó para un ejemplo de stack con ARC: @implementation Stack { // instance variable declared in implementation context NSMutableArray *_array; } – […]

ARC prohíbe objetos Objective-C en estructuras o uniones a pesar de marcar el archivo -fno-objc-arc

ARC prohíbe objetos Objective-C en estructuras o uniones a pesar de marcar el archivo -fno-objc-arc? ¿Por qué esto es tan? Supongo que si lo marcas -fno-objc-arc no tienes esta restricción.

Con ARC, ¿qué hay mejor: inicializadores alloc o autorelease?

¿Es mejor (más rápido y más eficiente) utilizar inicializadores de alloc o de autorelease ? P.ej: – (NSString *)hello:(NSString *)name { return [[NSString alloc] initWithFormat:@”Hello, %@”, name]; } O – (NSString *)hello:(NSString *)name { return [NSString stringWithFormat:@”Hello, %@”, name]; // return [@”Hello, ” stringByAppendingString:name]; // even simpler } Sé que en la mayoría de los […]

ARC – ¿El significado de __unsafe_unretained?

Solo quiero asegurarme de que lo hice bien: ¿Debo __unsafe_unretain objetos que no me __unsafe_unretain ? Si un objeto es __unsafe_unretained ¿Necesito usar assign en @property ? ¿Eso significa que el objeto no se retiene y solo se refiere al objeto que le asigné? ¿Cuándo querría usarlo, excepto de delegates? ¿Es eso algo de ARC […]

En el recuento automático de referencias, ¿por qué no se permiten retener, liberar y desasignar?

Cuando bash utilizar -retain , -retain , y -dealloc mientras construyo mi aplicación utilizando el recuento automático de referencias en Xcode 4.2, me sale un error como el siguiente: El conteo automático de referencias prohíbe el envío explícito de mensajes de ‘dealloc’ ¿Por qué estoy viendo este error? Are -retain , -retain , y -dealloc […]

¿ARC funciona con objetos de Core Graphics?

Recientemente comencé un nuevo proyecto usando el conteo automático de referencias (ARC). Cuando asigné los contenidos de un CALayer: UIView* view = … UIImage* image = … view.layer.contents = image.CGImage Recibí un error La conversión implícita de un puntero no-Objective-C tipo ‘CGImageRef’ a ‘id’ no se permite con ARC El simple hecho de CGImageRef en […]

¿ARC es realmente compatible con iOS 4? El iOS 4.2 SDK no tiene símbolos relacionados con ARC en el momento de la vinculación

He leído y oído desde que ARC se anunció por primera vez que era una cosa de tiempo de comstackción y sería compatible con iOS 4. He rediseñado mi proyecto con éxito a ARC utilizando la refactorización automática de Xcode 4.2, y cuando comstackdo contra el iOS 5.0 SDK, funciona bien. Sin embargo, si trato […]

@autoreleasepool sin ARC?

Soy nuevo en Xcode 4.2, y todavía no estoy al día con ARC. Sin embargo, sí leí que @autoreleasepool reemplaza el uso manual de los grupos de autorelease y hace algo de magia especial debajo del capó para jugar bien con ARC. Sin embargo, cuando comienzo un nuevo proyecto en Xcode 4.2 específicamente con la […]

¿Cuál es la diferencia entre el recuento automático de referencias de Objective-C y la recolección de basura?

Con el nuevo conteo automático de referencias (ARC) introducido en Xcode 4.2, ya no es necesario administrar manualmente retener / liberar en Objective-C. Esto parece similar a la recolección de basura, como se hace en Objective-C en la Mac y en otros idiomas. ¿En qué se diferencia ARC de la recolección de basura?

NSArray de referencias débiles (__unsafe_unretained) a objetos bajo ARC

Necesito almacenar referencias débiles a objetos en un NSArray, para evitar ciclos de retención. No estoy seguro de la syntax adecuada para usar. ¿Es esta la manera correcta? Foo* foo1 = [[Foo alloc] init]; Foo* foo2 = [[Foo alloc] init]; __unsafe_unretained Foo* weakFoo1 = foo1; __unsafe_unretained Foo* weakFoo2 = foo2; NSArray* someArray = [NSArray arrayWithObjects:weakFoo1, […]