J'ai essayé de suivre le code ci-dessous. Parce que pas CoreData stocké.EXC_BAD_ACCESS Problème
CoreData n'a stocké que BinaryData.
Quelque chose NSArray convertir en NSData.
cette conversion a été réussie.
mais converti NSData converti n'est pas converti en NSArray.
NSArray convertir en NSData (Sucess)
NSData convertir en NSArray (échec)
J'ai écrit une ligne de commentaire EXC_BAD_ACCESS.
plz aidez-moi !!!
ex)
[newEntity setValue:[myArray convertToData] forKey:@"myData"]; (not problem)
myItem.arr = [NSArray arrayWithData:[newEntity valueForKey:@"myData"]]; (seriously Problem)
#import <Foundation/Foundation.h>
@interface NSArray(dataConversion)
- (NSData*) convertToData;
+ (NSArray*) arrayWithData:(NSData*) data;
@end
#import "NSArray+dataConversion.h"
@implementation NSArray(dataConversion)
- (NSData*) convertToData {
unsigned n= [self count];
NSMutableData* data = [[NSMutableData dataWithLength: sizeof(unsigned)+
sizeof(id) *n] retain];
unsigned* p = [data mutableBytes];
*p++= n;
[self getObjects:(void*)p];
return data;
}
+ (NSArray*) arrayWithData:(NSData*) data
{
unsigned* p = (unsigned*)[data bytes];
//this code occured EXC_BAD_ACCESS message.
unsigned n = *p++;
return [NSArray arrayWithObjects:(id*)p count:n];
}
@end
@ bitmapdata.com, Oui, c'est ce que bbum a écrit ... –
[[NSArray arrayWithObjects: (id *) p nombre: n] retain] est incorrect. je me trompe écrire un code. maintenant éditer. ce code a un problème? le code a apporté ce site.http://lists.apple.com/archives/cocoa-dev/2002/Jan/msg00315.html Pas corriger ce code? –