我什至不确定我是否做对了,但这就是我正在尝试做的。我有一个包含表格视图的情节提要 - 以编程方式填充 - 所有这些都有效。我在故事板中还有另一个 ViewController,它本质上将显示在表格视图中选择的任何内容的详细信息。故事板中的表格视图和详细视图之间没有序列 - 应该有吗?- 我创建了一个类来处理这个细节视图。
所以我在 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];
}
所有这些都构建得很好,但是在运行时会在这个问题的标题中抛出错误。应该 - 或者我 - 需要在故事板中创建一个序列吗?我将如何获取此详细信息视图以显示何时选择了一行。