我正在使用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
];
}
知道为什么会这样吗? 我错过了什么吗?
答案 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];