-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

4

4 に答える 4

1

の定義と初期化には同じタイプが必要ですimageFromBundle

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

への変更:

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

また、zakhejが言うように、あなたは初期化する必要がありますimageData

于 2013-03-13T08:47:47.743 に答える
1

また、imageData を初期化する必要があります。

imageData = [NSData dataWithContentsOfURL:imageURL];
NSImage *imageFromBundle = [[NSImage alloc] initWithData:imageData];
于 2013-03-13T08:46:05.263 に答える
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 に答える
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 に答える