Я новичок в программировании 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;'. Ваше начальное свойство будет просто «объектом», и когда вы его синтезируете, вы выполняете '@synthesize object = _object;' и мы хотим знать, что такое '_object'? Пожалуйста, поделитесь всем своим кодом. – Popeye