为什么这段代码会出现错误。 xCode 4.6

时间:2013-03-13 08:41:38

标签: objective-c xcode

NSImageCell *imageFromBundle;     
NSData *imageData;     
NSURL *imageURL = [NSURL URLWithString:@"http://www.greatwhatsit.com/wp-content/uploads/2012/03/jeremiah1.jpg"];     
NSLog(@"url");     
NSLog(@"data");     
NSImage *imageFromBundle = [[NSImage alloc] initWithData:imageData]; 

为什么这段代码不起作用。 xcode 4.6

4 个答案:

答案 0 :(得分:1)

您还需要初始化imageData:

imageData = [NSData dataWithContentsOfURL:imageURL];
NSImage *imageFromBundle = [[NSImage alloc] initWithData:imageData];

答案 1 :(得分:1)

imageFromBundle

的定义和初始化必须具有相同的类型
NSImageCell *imageFromBundle;
NSImage *imageFromBundle = [[NSImage alloc] initWithData:imageData];

更改为:

NSImage *imageFromBundle;
NSImage *imageFromBundle = [[NSImage alloc] initWithData:imageData];

此外,作为zakhej sais,您需要初始化imageData

答案 2 :(得分:0)

尝试

NSURL *imageURL = [NSURL URLWithString:@"http://www.greatwhatsit.com/wp-content/uploads/2012/03/jeremiah1.jpg"];    
NSData *imageData = [NSData dataWithContentsOfURL:imageURL];  
NSLog(@"url");     
NSLog(@"data");     
NSImage *imageFromBundle = [[NSImage alloc] initWithData:imageData]; 

答案 3 :(得分:0)

imageFromBundle是第一个问题,正如已经指出的那样。 但是存在其他问题,例如不会仅声明imageData,而是没有给出任何数据。

您也可以直接在NSImage中 initWithContentsOfURL

  NSURL *imageURL = [NSURL URLWithString:@"http://i.stack.imgur.com/Zjno3.jpg?s=32&g=1"];
    NSImage * aImage = [[NSImage alloc] initWithContentsOfURL:imageURL];
    [_imageWellOutlet setImage: aImage]; //-- declared in .h header file
                                            //--  ( @property  (weak) IBOutlet NSImageView *imageWellOutlet;)