이 작업을 수행하고 있는지 확실하지 않지만이 작업을 수행하려고합니다. 프로그래밍 방식으로 채워지는 테이블보기가 포함 된 스토리 보드가 있는데 모두 작동합니다. 스토리 보드 내에 또 다른 ViewController가 있습니다.이 뷰 컨트롤러는 본질적으로 테이블 뷰에서 선택된 항목의 세부 정보를 표시합니다. 스토리 보드의 테이블보기와 상세보기 사이에 뚜렷한 구분이 없습니다. - 그리고이 상세 뷰를 처리 할 클래스를 만들었습니다.스토리 보드 & 'NSInternalInconsistencyException', 이유 : '번들로 NIB를로드 할 수 없습니다.'NSBundle
그래서 난 내 detailViewController.h
#import <UIKit/UIKit.h>
@class Profile;
@interface MedStaffDetailViewController : UIViewController
@property (weak, nonatomic) IBOutlet UIImageView *profileImage;
@property (weak, nonatomic) IBOutlet UIBarButtonItem *profileMobile;
@property (weak, nonatomic) IBOutlet UIBarButtonItem *profilePhone;
@property (weak, nonatomic) IBOutlet UIBarButtonItem *profileEmail;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil detail:(Profile *)profile title:(NSString *)title;
@end
이있다 그리고 이것은 구현의 :
#import "MedStaffDetailViewController.h"
#import "MedStaffViewController.h"
#import "Profile.h"
@interface MedStaffDetailViewController()
@end
@implementation MedStaffDetailViewController
@synthesize profileEmail, profileImage, profileMobile, profilePhone;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil detail:(Profile *)profile title:(NSString *)title
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
self.title = title;
}
return self;
}
@end
간단히 말해서 나는 당신이 보여 테이블보기에서 행의 선택을 처리 할 자세히보기 - 적절한 데이터 - 마스터/뷰 유형 응용 프로그램을 수행 할 때이 작업을 수행했지만 지금은 스토리 보드를 사용하여 배울 수 있습니다. 나는 상세 뷰의 신원 관리자에서 MedStaffDetailViewController에 클래스를 설정 한하고, 테이블 뷰 컨트롤러에 다음 한
:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
// Navigation logic may go here. Create and push another view controller.
/*
<#DetailViewController#> *detailViewController = [[<#DetailViewController#> alloc] initWithNibName:@"<#Nib name#>" bundle:nil];
// ...
// Pass the selected object to the new view controller.
[self.navigationController pushViewController:detailViewController animated:YES];
*/
_showProfile = [_profileArray objectAtIndex:indexPath.row];
NSLog(@"Selected: %@", [_showProfile lastName]);
self.detailViewController = [[MedStaffDetailViewController alloc] initWithNibName:@"MedStaffDetailViewController" bundle:nil detail:_showProfile title:@"This is the title"];
[self.navigationController pushViewController:self.detailViewController animated:YES];
}
이 모든 좋은 빌드 만의 제목에 오류가 발생합니다 이 질문은 언제 달렸다. 스토리 보드에 seque를 만들어야합니까? 아니면해야합니까? 행을 선택하면이 세부 정보 뷰를 표시하는 방법은 무엇입니까?
UIStoryboard * SB = self.storyboard'말을 더 잘 될 것이다 ' –
하지만이 [[MedStaffDetailViewController의 ALLOC를 호출 할 경우] initWithNibName 등 등 등 ]; 이는 뷰에 필요한 데이터를 제공하는 것입니다. – CodeMoto
대답은 매우 분명합니다! – juan