找不到对象类型
问题描述:
属性这似乎只是奇怪,因为我无法解决它并卡住了它。我正在使用故事板在tableview和detailview之间导航。当我从我的tableview类(TopStoriesViewController)传递一个单独的(NewsRecord)对象到我的详细类(DetailNewsViewController)时它工作的很好。但是现在我需要传递一个(NewsRecord)对象的数组,而不是单个(NewsRecord)对象。但是,当我在我的详细类中创建一个NSArray *并尝试在使用detail类的对象的prepareForSegue方法在我的tableview类中访问它时,它会给出以下错误---属性'items'在类型为'DetailNewsViewController * '在编译时。 items是一个NSArray对象,它从'entries'中获取它的内容,这也是TopStoriesViewController类中的一个NSArray。找不到对象类型
我的问题是为什么我能够在TopStoriesViewController中访问DetailNewsViewController的getNewsDetails,而不是项目。
我的类如下 - TopStoriesViewController.m
#import "DetailNewsViewController.h"
some code here....
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"ShowDetailedNews"]) {
DetailNewsViewController *detailNewsVC = [segue destinationViewController];
[segue.destinationViewController setHidesBottomBarWhenPushed:YES];
NSInteger indexForNewsSelectedFromTBV = [[self.tableView indexPathForSelectedRow] row];
[detailNewsVC setGetNewsDetails:[entries objectAtIndex:indexForNewsSelectedFromTBV]]; //This is working fine...
detailNewsVC.items=entries; //Error is occurring here...
}
}
DetailNewsViewController.h
#import "NewsRecord.h"
@interface DetailNewsViewController : UIViewController {
NewsRecord *getNewsDetails;
some other declarations...
NSArray *items;
}
@property(nonatomic,retain) NewsRecord *getNewsDetails;
@property(nonatomic,retain) NSArray *items;
@end
DetailNewsViewController.m
#import "DetailNewsViewController.h"
@synthesize getNewsDetails,items;
NewsRecord.h
@interface NewsRecord : NSObject {
NSString *newsTitle;
NSString *newsDescription;
}
@property(nonatomic,retain) NSString *newsTitle;
@property(nonatomic,retain) NSString *newsDescription;
@end
答
你应该尽量明确地使用二传手的项目:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"ShowDetailedNews"])
{
DetailNewsViewController *detailNewsVC = [segue destinationViewController];
...
[detailNewsVC setItems:entries];
}
}
尝试,清理项目,然后再次 – Krrish 2012-02-13 10:11:31
建立清洁您的项目,如果你重新启动Xcode中的DAT没有工作.... – 2012-02-13 10:34:51
@Krrish ,@ Inder Kumar Rathore:尝试清理并删除派生的数据...仍然没有得到解决 – southpark 2012-02-13 10:38:05