Próbuję prosty test dla bardziej złożonego projektu, ale jestem zaskoczony, dlaczego poniższy kod ulega awarii i daje błąd EXC_BAD_ACCESS?UIImage z CGImageRef
To się nazywa z UIView.
- (void)testing {
NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"ball.png" ofType:nil];
CGImageRef imageRef = [[[UIImage alloc]initWithContentsOfFile:imagePath]CGImage];
// CGImageRetain(imageRef);
UIImage *newImage = [[UIImage alloc]initWithCGImage:imageRef];
UIImageView *iv = [[UIImageView alloc]initWithImage:newImage];
[self addSubview:iv];
}
Domyślam się, że CGImageRef nie jest zachowana, ale dodanie CGImageRetain (imageRef); nie robi różnicy.
Należy również zauważyć, że ten projekt ma włączoną funkcję ARC.
EDIT
zrobiłem trochę więcej badań i odkryli, że jest to bezpośrednio związane z ARC jak stworzyłem 2 podstawowych projektów w tym jedynym powyższym kodzie. Pierwszy z ARC wyłączony i działał idealnie. Następna z włączonym ARC i awarią BAM z tym samym błędem. Interesujące jest to, że mam rzeczywisty błąd logowania TYLKO przy pierwszym uruchomieniu projektu przed awarią.
Error: ImageIO: ImageProviderCopyImageBlockSetCallback 'ImageProviderCopyImageBlockSetCallback' header is not a CFDictionary...
Fantastycznie, teraz widzę dokładnie, co się dzieje. Przynajmniej byłem na dobrej drodze. Dzięki Rob. – EcksMedia