【发布时间】:2014-05-23 21:41:00
【问题描述】:
每次我尝试在应用程序中打开图像时,都会收到以下错误:
:ImageIO:PNG 无效 PNG 文件:iDOT 未指向有效的 IDAT 块
:ImageIO:PNG 无效 PNG 文件:iDOT 未指向有效的 IDAT 块
:ImageIO:PNG 无效 PNG 文件:iDOT 未指向有效的 IDAT 块
这是我的头文件:
#import <UIKit/UIKit.h>
#import <Parse/Parse.h>
#import <dispatch/dispatch.h>
@interface ImageViewController : UIViewController<NSURLConnectionDataDelegate>{
dispatch_queue_t background;
}
@property (nonatomic,strong) PFObject *message;
@property (weak, nonatomic) IBOutlet UIImageView *imageView;
@property (nonatomic,strong) NSMutableData *imageData;
@property (nonatomic,strong) NSURLConnection *connection;
- (IBAction)save:(id)sender;
@end
这里是实现:
#import "ImageViewController.h"
@interface ImageViewController ()
@end
@implementation ImageViewController
- (void)viewDidLoad
{
NSLog(@"ImageViewController starts here");
[super viewDidLoad];
PFFile *imageFile = [self.message objectForKey:@"imageFile"];
NSURL *imageURL = [[NSURL alloc]initWithString:imageFile.url];
NSMutableURLRequest *request =[[NSMutableURLRequest alloc]initWithURL:imageURL];
self.connection = [[NSURLConnection alloc]initWithRequest:request delegate:self startImmediately:NO];
[self.connection scheduleInRunLoop:[NSRunLoop mainRunLoop] forMode:NSRunLoopCommonModes];
[self.connection start];
}
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
if (self.imageData == nil){
self.imageData = [[NSMutableData alloc]init];
[self.imageData appendData:data];
}
}
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
self.imageView.image = [UIImage imageWithData:self.imageData];
}
@end
【问题讨论】:
标签: ios objective-c uiimage nsmutabledata