NSdataにCGlayerRefとCGcontextRefを保存しましたが、現在のものをカバーするようにすると、poinerのみが保存され、データは保存されていないことがわかりました。そのため、これらのCGlayerRefまたはCGcontextRefをコピーとして作成することはできません(これはすべてdrawRectで行いました)
NSdataはこれらのものを保存できると言う人もいますが、NSvalueは保存できませんが、まったく機能しません。「コピー」を使用しても、これらのデータのコピーを取得できませんでした。
これが私のコードです:
-(void)drawRect:(CGRect)rect {
if(drawCount == 3){
dataLayer1=[NSData dataWithBytes:& _layerView
length:sizeof(CGLayerRef)];
[dataLayer1 retain];
}
if (undodo==YES) {
_layerView=*(CGLayerRef*)[dataLayer1 bytes];
}
currentContext = UIGraphicsGetCurrentContext( ....