subir quitar perfil para marcos marco gratis fotos elimino eliminar cómo crear compartir como activar objective-c ios cocos2d-iphone ccsprite

objective c - quitar - obtener foto de perfil de Facebook



marcos para fotos de perfil de facebook gratis (2)

Coloca el código de red en el hilo principal, lo que bloquearía la interfaz de usuario y tendría una mala experiencia para el usuario. Regularmente, debes poner tales cosas en otro hilo. Intenta usar el despacho

dispatch_queue_t downloader = dispatch_queue_create("PicDownloader", NULL); dispatch_async(downloader, ^{ NSData *data = [NSData dataWithContentsOfURL:url]; UIImage *image = [UIImage imageWithData:data]; dispatch_async(dispatch_get_main_queue(), ^{ CCTexture2D *texture = [[[CCTexture2D alloc] initWithImage:image resolutionType:kCCResolutionUnknown] retain]; CCSprite *sprite = [CCSprite spriteWithTexture:texture]; [self addChild:sprite]; }); });

O si lo desea, puede probar JBAsyncImageView . Quizás tengas que hackearlo en tu CCSprite :)

actualmente quiero obtener una foto de perfil de Facebook y luego convertir la imagen en CCSprite.

hasta ahora mi código se ve así:

//fbId is facebook id of someone NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"https://graph.facebook.com/%@/picture?type=normal", fbId]]; NSData *data = [NSData dataWithContentsOfURL:url]; UIImage *image = [UIImage imageWithData:data]; //convert UIImage to CCSprite CCTexture2D *texture = [[[CCTexture2D alloc] initWithImage:image resolutionType:kCCResolutionUnknown] retain]; CCSprite *sprite = [CCSprite spriteWithTexture:texture]; [self addChild:sprite];

funciona, pero tarda un tiempo antes de cargarse, unos pocos segundos.

Mi pregunta es, aparte de la conexión a Internet, ¿hay algún mejor enfoque para cargar la imagen del perfil de Facebook lo más rápido posible? Gracias


Por un lado, optaría por utilizar AFNetworking para solicitar asíncronamente los datos de imagen. Supongo que esto es lo que está causando el retraso. Puede notar que su UI se bloquea durante esos pocos segundos. Hacer una llamada asíncrona de esos datos resolverá esto. Aún mejor, puede considerar usar el SDK de iOS de Facebook para llamar a la imagen.