Objective c 无法在ViewController类中填充数据
我正在使用Three20创建一个图库,我的问题是,当我尝试创建视图以显示图库时,我的AlbumController没有使用从以前视图中获取的照片填充。 照片在NSArray(inputAlbumController)中,我下一个视图的标题在NSTextField(txtSearch)中,应用程序输入if语句(self.albumView==nil),我用NSLog测试了它们,但当我试图通过下一个视图上的setter传输它们时,我什么也得不到。以下是解决此问题所需的一些代码: 这是rootViewController。h:Objective c 无法在ViewController类中填充数据,objective-c,uiviewcontroller,three20,setter,ttthumbsviewcontroller,Objective C,Uiviewcontroller,Three20,Setter,Ttthumbsviewcontroller,我正在使用Three20创建一个图库,我的问题是,当我尝试创建视图以显示图库时,我的AlbumController没有使用从以前视图中获取的照片填充。 照片在NSArray(inputAlbumController)中,我下一个视图的标题在NSTextField(txtSearch)中,应用程序输入if语句(self.albumView==nil),我用NSLog测试了它们,但当我试图通过下一个视图上的setter传输它们时,我什么也得不到。以下是解决此问题所需的一些代码: 这是rootView
@interface rootViewController : UIViewController {
AlbumController *albumView;
IBOutlet UITextField *txtSearch;
}
@property (nonatomic, retain) AlbumController *albumView;
@interface AlbumController : TTThumbsViewController {
NSArray *myImages;
NSString *myTitle;
}
@property (nonatomic, retain) NSArray *myImages;
@property (nonatomic, retain) NSString *myTitle;
这在my 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];
- (void)viewDidLoad {
self.photoSource = [[PhotoSource alloc]
initWithType:PhotoSourceNormal
title:myTitle
photos:myImages
photos2:nil
];
}
这是我的相册控制器。h:
@interface rootViewController : UIViewController {
AlbumController *albumView;
IBOutlet UITextField *txtSearch;
}
@property (nonatomic, retain) AlbumController *albumView;
@interface AlbumController : TTThumbsViewController {
NSArray *myImages;
NSString *myTitle;
}
@property (nonatomic, retain) NSArray *myImages;
@property (nonatomic, retain) NSString *myTitle;
这是来自my AlbumController的ViewDidLoad。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];
- (void)viewDidLoad {
self.photoSource = [[PhotoSource alloc]
initWithType:PhotoSourceNormal
title:myTitle
photos:myImages
photos2:nil
];
}
你知道为什么会这样吗?
我错过什么了吗 很难说到底是什么问题。首先,您没有使用。这不是必需的,但更容易使用,特别是当您使用三个20 TTViewController时 其次,AlbumController必须在某个地方初始化(最好是在应用程序启动功能中): 我还建议将AlbumController对象放在AppDelegate中,而不是另一个UIViewController的一部分。这将使事情变得更容易:
[appDelegate.albumView setMyImages:inputAlbumController];
[self.navigationController pushViewController:appDelegate.albumView animated:YES];
很难说到底是什么问题。首先,您没有使用。这不是必需的,但更容易使用,特别是当您使用三个20 TTViewController时 其次,AlbumController必须在某个地方初始化(最好是在应用程序启动功能中): 我还建议将AlbumController对象放在AppDelegate中,而不是另一个UIViewController的一部分。这将使事情变得更容易:
[appDelegate.albumView setMyImages:inputAlbumController];
[self.navigationController pushViewController:appDelegate.albumView animated:YES];
在哪里初始化AlbumController?你确定你没有忘记吗?嗯。。首先,我创建了一个新的AlbumController对象,并将其分配给
if(self.albumView==nil)
中的albumView对象,但现在我删除了它,因为我在rootViewController.m中有@syntesize albumView
,但这两种情况下都不起作用。。我很确定我没有混淆它,因为对象存在&我从中获得缩略图库视图,但对象没有图像和标题..在哪里初始化AlbumController?你确定你没有忘记吗?嗯。。首先,我创建了一个新的AlbumController对象,并将其分配给if(self.albumView==nil)
中的albumView对象,但现在我删除了它,因为我在rootViewController.m中有@syntesize albumView
,但这两种情况下都不起作用。。我很确定我没有混淆它,因为对象存在&我从中获得了缩略图库视图,但对象没有图像和标题..我正在做一些重大更改。。我正在尝试删除navigationController并使用TTNavigator。我正在做一些主要更改。。我正在尝试删除navigationController并使用TTNavigator。