我的问题是为什么我能够在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
答案 0 :(得分:0)
您应该尝试明确使用项目的setter:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"ShowDetailedNews"])
{
DetailNewsViewController *detailNewsVC = [segue destinationViewController];
...
[detailNewsVC setItems:entries];
}
}