2012-02-10 10 views
1

NSStringに問題があります。わかりやすいシンプルなものだと思うが、しばらくはそれを見つめていて、どこにも出てこないような気がする。シンプルなNSStringエラー - 印刷(null)

私は絵画と呼ばれるクラスを定義しました。 、私は "絵" を作成ビューコントローラの.hファイルで

@implementation Painting 

@synthesize artist, image; 

@end 

@interface Painting : NSObject { 
    NSString *artist; 
    UIImage *image; 
} 

@property (nonatomic, copy) NSString *artist; 
@property (nonatomic, copy) UIImage *image; 

@end 
ここ

ですPainting.m:ここ はPainting.hある

Painting *monet; 
@property (nonatomic, retain) Painting *monet; 

さて、それは.mファイルで、私は非常に簡単なプリントをしようとしていますが、うまくいきません。私は "モネ"の代わりに(null)を得ます。私は何をしないのです

NSString *bob3 = @"Monet"; 
NSLog(@"Real artist: %@", bob3); 

??:

monet.artist = @"Monet"; 
NSString *bob3 = monet.artist; 
NSLog(@"Real artist: %@", bob3); 

しかし、この作品はありません(私の "モネ" の代わりに(ヌル)の提供します)

+1

は、あなたが実際にどの時点で 'monet'を作成することがありますか?例えばどこかに '[[Painting alloc] init];' –

+0

があるはずです。うわー、あなたはそれでした。ありがとうございました! – lrb333

答えて

4

あなたは、おそらく前に必要があります。この

monet.artist = @"Monet"; 

monet = [[Painting alloc] init]; 
+0

Wowwwwww。それは完全にそれです。非常に非常にばかげて、ありがとう! – lrb333