2013-03-13 70 views
-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]; 

为什么这段代码没有工作。的Xcode 4.6为什么此代码不断出现错误。 xCode 4.6

+0

谈到了“与不同类型的‘imageFromBundle’的重新定义:‘NSImage中* _strong’VS‘NSImageCell * _strong’究竟发生了什么,我已经改变了一切,它仍然来了同样的错误 – user2164473 2013-03-13 08:45:36

回答

1

还需要初始化的imageData:

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

你必须拥有的imageFromBundle

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

变化的定义和初始化同类型:

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

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

+0

想起imageFromBundle的重新定义?我刚刚开始编程昨天,对不起。 – user2164473 2013-03-13 08:53:54

+0

首先尝试用'NSImage'替换'NSImageCell'。这应该可以解决你所描述的错误。 – Sunkas 2013-03-13 09:33:26

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]; 
+0

非常感谢。我现在需要做的就是创建正确的我,如果我错了一个NSObject * imageFromBundle为了加载变量,它说它是未使用的变量* imageFromBundle。 – user2164473 2013-03-13 08:59:20

+0

根据你的代码,你在NSImage&NSImageCell的两个地方声明imageFromBundle。被你使用d一个出来。 – Girish 2013-03-13 09:05:48

0

imageFromBundle是第一个问题,因为已经指出。 但存在其他问题,如不是只声明imageData,但没有给出任何数据。

你也可以initWithContentsOfURL直接在一个NSImage中。

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;) 
相关问题