无法填充ViewController类中的数据

时间:2011-07-07 04:12:34

标签: objective-c uiviewcontroller three20 setter ttthumbsviewcontroller

我正在使用Three20创建一个图库,我的问题是当我尝试创建我的视图以显示图库我的AlbumController没有填充从我以前的视图中获得的照片。 照片在NSArray(inputAlbumController)中,我的下一个视图的标题在NSTextField(txtSearch)中,应用程序输入if语句(self.albumView == nil),我用NSLog测试它们,但是当我尝试在下一个视图中通过设置器传输它们我什么都没得到。以下是此问题所需的一些代码:

这是rootViewController.h:

@interface rootViewController : UIViewController {
    AlbumController *albumView;
    IBOutlet UITextField *txtSearch;
}
@property (nonatomic, retain) AlbumController *albumView;

这是我的rootViewController.m函数:

geoFlickrAppDelegate *appDelegate = (geoFlickrAppDelegate *)[[UIApplication sharedApplication] delegate];
if(self.albumView == nil) {
    [albumView setMyImages:inputAlbumController];
    [albumView setMyTitle:txtSearch.text];
    //self.albumView = album;
    [appDelegate toGallery];
}

[self.navigationController pushViewController:self.albumView animated:YES];

这是我的AlbumController.h:

@interface AlbumController : TTThumbsViewController {
    NSArray *myImages;
    NSString *myTitle;
}
@property (nonatomic, retain) NSArray *myImages;
@property (nonatomic, retain) NSString *myTitle;

这是我的AlbumController.m中的ViewDidLoad:

- (void)viewDidLoad { 
self.photoSource = [[PhotoSource alloc]  
                    initWithType:PhotoSourceNormal  
                    title:myTitle  
                    photos:myImages  
                    photos2:nil  
                    ];  
} 

知道为什么会这样吗? 我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

很难说出究竟是什么问题。对于初学者,您没有使用standard TTNavigator。这不是必需的,但它更容易使用,特别是当你使用三个TTViewControllers时。

其次,AlbumController必须在某处初始化(最好在app启动的功能中):

AlbumController* _albumContoller = [[AlbumController alloc] init];

我还建议在AppDelegate中使用AlbumController对象,而不是另一个UIViewController的一部分。它会让事情变得更容易:

[appDelegate.albumView setMyImages:inputAlbumController];
[self.navigationController pushViewController:appDelegate.albumView animated:YES];