-1
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]; 

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

4

4 回答 4

1

您还需要初始化 imageData:

imageData = [NSData dataWithContentsOfURL:imageURL];
NSImage *imageFromBundle = [[NSImage alloc] initWithData:imageData];
于 2013-03-13T08:46:05.263 回答
1

您的定义和初始化必须具有相同的类型imageFromBundle

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

改成:

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

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

于 2013-03-13T08:47:47.743 回答
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;)
于 2013-03-13T09:17:54.547 回答
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]; 
于 2013-03-13T08:51:22.397 回答