我是新来的Ios编程我想从主视图控制器显示数据到详细视图控制器中,我使用xcode中的主详图模板。详细阵列正在它显示在标签,我想怎么过显示标题,以及存储在_objects阵列的细节,如何将主视图中的数据显示到详细视图控制器
这里是我的代码
#import "MasterViewController.h"
#import "DetailViewController.h"
@interface MasterViewController() {
NSMutableArray *_detailObjects;
NSMutableArray *_thumbnailImage;
}
@end
@implementation MasterViewController
@synthesize _objects;
- (void)awakeFromNib
{
[super awakeFromNib];
}
- (void)viewDidLoad
{
[super viewDidLoad];
self.navigationItem.title= @"Zodiac List";
_objects = [[NSMutableArray alloc] initWithObjects:
@"value 1",
@"value 2",
@"value 3",
@"value 4",
@"value 5",
,nil];
_detailObjects = [[NSMutableArray alloc] initWithObjects:
@"detail of value 1",
@"detail of value 2",
@"detail of value 3",
@"detail of value 4",
@"detail of value 5",
, nil];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return _objects.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
NSDate *object = _objects[indexPath.row];
cell.textLabel.text = [object description];
return cell;
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"showDetail"]) {
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
NSMutableArray *object = _detailObjects[indexPath.row];
[[segue destinationViewController] setDetailItem:object];
}
}
@end
细节做工是否精细如何以往我想在一个标签,以显示值1,值2,值2以及.. 这是我的细节视图控制器代码..
@property (strong, nonatomic) id detailItem;
@property (strong, nonatomic) id detailItemTitle;
@property (weak, nonatomic) IBOutlet UILabel *detailDescriptionLabel;
@property (weak, nonatomic) IBOutlet UILabel *zodiacNameLabel;
这里是m文件代码
#import "DetailViewController.h"
#import "MasterViewController.h"
@interface DetailViewController()
- (void)configureView;
@end
@implementation DetailViewController
@synthesize zodiacNameLabel;
#pragma mark - Managing the detail item
- (void)setDetailItem:(id)newDetailItem
{
if (_detailItem != newDetailItem) {
_detailItem = newDetailItem;
// Update the view.
[self configureView];
}
}
-(void) setDetailItemTitle:(id)detailItemTitle{
if (_detailItemTitle !=detailItemTitle) {
_detailItemTitle = detailItemTitle;
[self configureView];
}
}
- (void)configureView
{
// Update the user interface for the detail item.
if (self.detailItem) {
self.detailDescriptionLabel.text = [self.detailItem description];
// self.zodiacNameLabel.text = [self.]
MasterViewController *master = [[MasterViewController alloc] init];
zodiacNameLabel.text = [master._objects objectAtIndex:0];
}
// if (self.detailItemTitle) {
// self.zodiacNameLabel.text = [self.detailItem description];
// }
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
[self configureView];
// MasterViewController *master = [[MasterViewController alloc] init];
// zodiacNameLabel.text = [master._objects objectAtIndex:0];
// MasterViewController *master = [[MasterViewController alloc]init];
// zodiacNameLabel.text = [master._objects objectAtIndex:0]; // you can get first element of an array
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
您的语法错了 - 在惯例中您不会执行'@synthesize _objects;'。你的初始属性只是'object',当你合成它时,你会'@synthesize object = _object;'并且我们想知道'_object'是什么?请分享您的所有代码。 – Popeye