español iphone objective-c cocoa-touch uikit

iphone - cocoa touch español



¿Cómo puedo agregar objetos CGPoint a un NSArray de la manera más fácil? (4)

¿Has echado un vistazo a CFMutableArray ? Eso podría funcionar mejor para ti.

Tengo alrededor de 50 objetos CGPoint que describen algo así como una "ruta", y quiero agregarlos a un NSArray. Va a ser un método que simplemente devolverá el CGPoint correspondiente para un índice dado. No quiero crear 50 variables como p1 = ...; p2 = ..., y así sucesivamente. ¿Hay alguna manera sencilla que me permita definir esos puntos "instantáneamente" al inicializar NSArray con objetos?


También puede escribir esto de forma estándar en C / C ++:

CGPoint oldschool[] = { CGPointMake(5.5, 6.6), CGPointMake(7.7, 8.8) }; CGPoint p2 = oldschool[1];


Yo uso esto:

Crear matriz:

NSArray *myArray = @[[NSValue valueWithCGPoint:CGPointMake(30.0, 150.0)],[NSValue valueWithCGPoint:CGPointMake(41.67, 145.19)]];

Obtiene el primer objeto CGPoint:

CGPoint myPoint = [myArray[0] CGPointValue];


Con UIKit Apple agregó soporte para CGPoint a NSValue , por lo que puede hacer:

NSArray *points = [NSArray arrayWithObjects: [NSValue valueWithCGPoint:CGPointMake(5.5, 6.6)], [NSValue valueWithCGPoint:CGPointMake(7.7, 8.8)], nil];

Enumere tantas instancias [NSValue] como CGPoint y termine la lista en cero. Todos los objetos en esta estructura se lanzan automáticamente.

Por otro lado, cuando extrae los valores de la matriz:

NSValue *val = [points objectAtIndex:0]; CGPoint p = [val CGPointValue];