0

我在这个问题上坐了几个小时,现在我瞎了。;-)

我在这里有这段代码:

- (id) initWithImage:(UIImageView*)imageView andPath: (NSString*) path{

   [super init];
   drawImage = imageView;
   imageFilePath = [NSString stringWithString: path];
   NSLog(@"fath: %@", imageFilePath);
   return self;
}

    NSData *imageData = [NSData dataWithData:UIImagePNGRepresentation(drawImage.image)];   
    NSString *docsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
    NSString *path = [docsDirectory stringByAppendingPathComponent:@"img.data"];
    NSLog(@"path: %@", path);
    [imageData writeToFile:path atomically:YES];

此代码有效,但是当我更改
[imageData writeToFile:path atomically:YES];

[imageData writeToFile:imageFilePath atomically:YES];
应用程序时崩溃。
但是字符串看起来完全一样:

2011-06-01 10:38:10.178 L3T[3756:207] fath: /Users/max/Library/Application Support/iPhone Simulator/4.3/Applications/A73945CF-9FD0-46E9-A16B-9C0EFC924B0F/Documents/img.data
2011-06-01 10:38:11.864 L3T[3756:207] path: /Users/max/Library/Application Support/iPhone Simulator/4.3/Applications/A73945CF-9FD0-46E9-A16B-9C0EFC924B0F/Documents/img.data

我只是不明白!

4

1 回答 1

3

该代码imageFilePath = [NSString stringWithString: path];为您提供了一个您不拥有的对象,因此您不能依赖它稍后在您的代码中可用。将其更改为:

imageFilePath = [[NSString alloc] initWithString: path];

你应该没事。

于 2011-06-01T08:59:13.987 回答