类变量值会丢失

时间:2011-12-08 11:55:06

标签: objective-c ios cocoa-touch class

我有一个图像类,我想根据图像存储一些信息:

@interface GEOImage : UIImage
{
    NSString *title;
    NSString *imgDescription;
    NSString *latitude;
    NSString *longitude;
    NSDictionary *info;
    NSURL *urlToImage;
}
@property (nonatomic, retain) NSString *title, *imgDescription, *latitude, *longitude;
@property (nonatomic, retain) NSDictionary *info;
@property (nonatomic, retain) NSURL *urlToImage;
@end

在我设置的TabBarController的第一个标签中:

self.chosenImage.title = @"Roflmao"

并在另一个第二个标签中打印出来:

NSLog("Title:%@", self.chosenImage.title);

但在第二个标签中,标题为"null"。 如果我检查chosenImage的对象引用,它们是相同的,如果我在设置后在第一个选项卡中打印标题,一切都可以。不知何故,当我更改标签时,类变量会丢失(或被ARC移动到垃圾箱?)。

我在声明中的属性做错了吗?或者我在设置类变量时还有其他错误吗?

1 个答案:

答案 0 :(得分:0)

我发现每次加载视图时都会调用设置selectedImage.title的方法,所以在Tab2中标题只是被“null”覆盖了。对象引用总是正确的。

坦克为你提供帮助!