У меня вопрос по поводу "элементов" CGLayerRef (потому что они не являются объектами!)
В моем приложении я хочу сохранить список CGLayerRef, созданный из растровых изображений, для получения хорошей частоты кадров на моем DrawRect.
как я могу хранить и читать CGLayerRef в этом коде?
Это код для хранения в NSMutableArray
CGLayerRef imageLayer;
// create my layer...
// init my NSMutableArray
if (layerTable == nil) {
layerTable = [[NSMutableArray alloc] init];
}
// and store my CGCLayer in this array with NSValue
[layerTable addObject:[[NSValue alloc] initWithBytes:imageLayer objCType:"CGLayerRef"]];
Теперь код для DrawRect на мой взгляд:
«actualIdp» - это int для определения слоя, который нужно нарисовать.
-(void)drawInContext:(CGContextRef)context{
// other code...
// here I want to read my CGLayerRef
//test with NSValue, but i don't know NSValue
NSValue *val = [layerTable objectAtIndex:actualIdp];
CGLayerRef layerToShow;
[val getValue:layerToShow]; // maybe an error
CGContextDrawLayerInRect(context, imageRect, layerToShow );
}
Здесь код для изменения моего идентификатора:
-(void)showThisId:(int)idp{
actualIdp = idp;
[self setNeedsDisplay];
};