こんにちは、これは私の最初の iPad アプリで、iPhone アプリを iPad に移植しようとしています。http://www.raywenderlich.com/のすべてのチュートリアルに従いましたが、まだ問題があります。
また、この質問を確認してください。まだ問題があります。2つのテーブルビューを持つSplitviewcontroller、デリゲートの問題
基本的に、SplitViewController に 2 つの UITableViewControllers があり、ルート ビュー コントローラーのテーブルビュー セルをクリックすると、別のテーブルビューの右側にある DetailsViewController に詳細を入力します。
問題は、配列データを渡すことはできますが、tableview reload メソッドを呼び出すことができないことです。
ここにコードがあります
LeftViewController
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSUInteger row = [indexPath row];
if (row == 0){
NSLog(@"Row 0 Pressed");
RightViewController *rightvc = [self.storyboard instantiateViewControllerWithIdentifier:@"displayenglish"];
_locallayleft = [ConversationDatabase database].conversationsInfos;
NSLog(@"Just pushed the array");
rightvc.detailItem = _locallayleft;
rightvc.title = @"Greetings";
}
else if (row == 1) {
NSLog(@"Row 1 Pressed");
RightViewController *rightvc = [self.storyboard instantiateViewControllerWithIdentifier:@"displayenglish"];
_locallayleft = [ConversationDatabase database].conversationsInfosgeneral;
rightvc.detailItem = _locallayleft;
rightvc.title = @"General Conversation";
}
-----------------------------------------------------------------------------------------
RightViewController
- (void)setDetailItem:(NSArray *)newDetailItem
{
if(_detailItem != newDetailItem) {
_detailItem = newDetailItem;
[self configureView];
}
}
- (void)configureView
{
if (self.detailItem) {
self.locallay = self.detailItem;
_listOfCoversation = [[NSMutableArray alloc] init];
for (ConversationInEnglish *c in _locallay)
{
NSString *english = c.english;
NSLog(@"setDetails Item get called");
NSLog(@"%@",english);
[_listOfCoversation addObject:english];
}
[self.tableView reloadData];
NSLog(@"Trying to reload TableView");
}
}
- (void)viewDidLoad
{
[super viewDidLoad];
[self configureView];
}
#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [_locallay count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"English";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
ConversationInEnglish *con = _locallay [indexPath.row];
_englishLabel = (UILabel *) [cell viewWithTag:200];
_englishLabel.text = con.english;
NSLog(@"My data from cell %@",con.english );
[_englishLabel setFont:[UIFont fontWithName:@"Open Sans" size:22]];
_myanmarLabel = (UILabel *) [cell viewWithTag:300];
[_myanmarLabel setFont:[UIFont fontWithName:@"TharLon" size:17]];
_tonebasedLabel = (UILabel *) [cell viewWithTag:400];
_tonebasedLabel.text = con.tone_based;
UIColor *background = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"tableviewcell.png"]];
self.tableView.backgroundColor = background;
return cell;
}