UISplitViewController с раскадровкой - PullRequest
0 голосов
/ 31 октября 2011

Я использую раскадровку с контроллером разделенного просмотра для приложения iPad. И устанавливаю его начальный для контроллера разделенного просмотра. Я заполняю основной контроллер представления через массив. 'feature' - это класс NSObject, в котором я объявляю метод:

- (feature *)initWithName:(NSString *)name iconName:(NSString *)iconName featuresofiphone:(iphoneFeatures)featuresofiphone;
и возвращаю name, iconName, featuresofiPhone типа NSString при его определении в классе .m. Вот мой код в didFinishLaunchingWithOptions:
NSMutableArray *monsters = [NSMutableArray array];
[monsters  addObject:[[[feature alloc] initWithName:@"iphone3g" 
iconName:@"iphone3g.jpg" featuresofiphone:iphone3gf] autorelease]];

[monsters addObject:[[[feature alloc] initWithName:@"iphone3gs"  
iconName:@"iphone3gs.jpg" featuresofiphone:iphone3gsf] autorelease]];

[monsters addObject:[[[feature alloc] initWithName:@"iphone4g"  iconName:@"iphone4g.jpg"  
featuresofiphone:iphone4gf] autorelease]];

 MasterViewController *masterDetailViewController = [[MasterViewController alloc]init];
masterDetailViewController.iphones  = iphonesarray;

UISplitViewController *splitViewController = (UISplitViewController *)self.window.rootViewController;
UINavigationController *navigationController = [splitViewController.viewControllers lastObject];
splitViewController.delegate = (id)navigationController.topViewController;
return YES;

но с исключением:

exception 'NSRangeException', reason: '-[UITableView scrollToRowAtIndexPath:atScrollPosition:animated:]: row (0) beyond bounds (0) for section (0).'
в главном контроллере представления по адресу:
-(void)viewDidLoad
{
  [super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
 self.detailViewController = (DetailViewController *) 
 [[self.splitViewController.viewControllers lastObject] topViewController];
 [self.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] 
 animated:NO scrollPosition:UITableViewScrollPositionMiddle];
}

и элемент управления также не доходит до метода cellForRowAtIndexPath. помоги мне !!

1 Ответ

0 голосов
/ 10 ноября 2011

Вам не хватает ячеек, просто прокомментируйте строку

    [self.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] animated:NO scrollPosition:UITableViewScrollPositionMiddle];

она пытается прокрутить до несуществующей ячейки.

...