Я тщательно искал решение и не нашел его.Кажется, это действительно элементарно, что я пытаюсь сделать, однако все веб-страницы, которые я прочитал до сих пор, не обращаются к ним.
У меня есть два набора из 3 обычных файлов.
- MyTableViewController.h .m .xib
- TableViewDetails.h .m .xib
Когда пользователь нажимает на строку в MyTableViewController.xib, он отображает TableViewDetails.xibс содержимым массива, объявленного / заполненного в MyTableViewController.
- Для демонстрации я хочу вызвать массив (tableDataList), передав числовую строку элемента, код, который может реализовать этозакомментировано
Так как мне этого добиться?
MyTableViewController.h
@interface MyTableViewController : UITableViewController {
NSMutableArray *tableDataList;
}
@property (nonatomic, retain) IBOutlet UINavigationController *navCont;
@property (nonatomic, readwrite, retain) NSMutableArray *tableDataList;
//+ (NSString *)getTempArray:(int)number;
//- (NSString *) getTempArray_m: (int) number;
@end
MyTableViewController.m
//#import "MyTableViewController.h"
#import "TableViewDetailsView.h"
@implementation MyTableViewController
@synthesize tableDataList;
- (void)viewDidLoad
{
NSMutableArray *tempArray = [[[NSMutableArray alloc] initWithObjects:@"Item 1",@"Item 2",@"Item 3",@"Item 4",@"Item 5",@"Item 6", nil] autorelease];
tableDataList = [[NSMutableArray alloc] init];
tableDataList = tempArray;
}
//+ (NSString *)getTempArray:(int)number {
// return [MyTableViewController getTempArray_m: number];
//}
//
//- (NSString *)getTempArray_m:(int)number {
//
// return [self.tableDataList objectAtIndex:number];
//}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
// Navigation logic may go here. Create and push another view controller.
NSLog(@"pushing...");
TableViewDetailsView *temp = [[[TableViewDetailsView alloc] initWithNibName:@"TableViewDetailsView"bundle:nil] autorelease];
// ...
// Pass the selected object to the new view controller.
[self.navCont pushViewController:temp animated:YES];
}
@end
MyTableViewController.h
#import <UIKit/UIKit.h>
//#import "MyTableViewController.h"
//@class MyTableViewController;
@interface TableViewDetailsView : UIViewController {
UIButton *buttonGetArray;
}
@end
TableViewDetailsView.m
#import "TableViewDetailsView.h"
//#import "MyTableViewController.h"
@implementation TableViewDetailsView
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
// MyTableViewController *MyTableVC = [[MyTableViewController alloc] init]; - This is Wrong
// NSString *item = [MyTableViewController getTempArray:1];
// NSLog(@"The Array item: %@", item);
}
Последние несколько слов, не могли бы вы предоставить действительные изменения кода, а не дополнять эти вопросы или давать ссылку на чтения.Я действительно хочу учиться, но считаю, что это не очень полезно, когда (на что похоже) простые вопросы здесь не рассматриваются.Во что бы то ни стало, дайте мне соответствующие указатели на информацию, но сначала решите проблему здесь, чтобы другие в будущем могли получить больше выгоды.Спасибо, что нашли время, чтобы прочитать мой вопрос.