2012-02-10 32 views
1

我遇到了NSString的问题。我觉得这是一件非常简单的事情,但我一直在盯着它一段时间,似乎无法得到任何地方:/你的帮助是高度赞赏!简单的NSString错误 - 打印(null)

我定义了一个名为绘画的类。 这里是Painting.h:

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

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

@end 

这里是Painting.m:

@implementation Painting 

@synthesize artist, image; 

@end 

在一个视图控制器.h文件,我创建了一个 “画”:

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

现在,在它的.m文件中,我试图做一个非常简单的打印,它不会工作。我得到(null)而不是“莫奈”。

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

然而,这不工作(给我的 “莫奈”,而不是(空)):

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

我在想什么?

+1

你有没有真正在任何时候创建'monet'?例如某处你应该有'[[绘制alloc] init];' – 2012-02-10 00:46:14

+0

Wowwwww,你就是这样。谢谢! – lrb333 2012-02-10 00:56:13

回答

4

你可能需要之前:

monet.artist = @"Monet"; 

这样的:

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

Wowwwwww。完全就是这样。非常非常愚蠢,谢谢! – lrb333 2012-02-10 00:55:47