如何在情节提要中将属性 tableView 连接到 UITableView
Posted
技术标签:
【中文标题】如何在情节提要中将属性 tableView 连接到 UITableView【英文标题】:How to connect property tableView to UITableView in storyboard 【发布时间】:2015-10-09 00:39:25 【问题描述】:enter image description here我是 ios 编程新手,我正在尝试让 UITableView 显示黑客马拉松的时间表。我似乎无法将我在 .h 文件中定义的属性连接到我在 ScheduleViewController 中的表格视图。当我将按钮与其关联的属性连接起来时,我只需保持控制并拖动蓝线来连接它们。我能够通过命令设置数据源和委托 Outlets,并将它们拖到我的 ScheduleViewController 顶部的圆形符号上。我还缺少什么来设置它吗?
ctrl and drag doesn't work
#import <UIKit/UIKit.h>
#include "Weekend.h"
@interface ScheduleViewController : UIViewController <UITableViewDataSource,
UITableViewDelegate>
@property (strong, nonatomic) IBOutlet UITableView *tableView;
@end
#import "ScheduleViewController.h"
@interface ScheduleViewController ()
@end
@implementation ScheduleViewController
NSArray *allWeekendDays;
- (void)viewDidLoad
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
//Set up schedule for friday
Weekend *friday = [[Weekend alloc] init];
friday.day = @"Friday, March 20th";
friday.events = @"9:00 PM Check-In\n"
"11:00 PM Opening Ceremony\n"
"11:59 PM Begin Hacks";
//Set up schedule for saturday
Weekend *saturday = [[Weekend alloc] init];
saturday.day = @"Saturday, March 21st";
saturday.events = @"2:00 AM Snack Time\n"
"8:00 AM Breakast\n"
"1:00 PM Lunch\n"
"7:30 PM Dinner\n"
"10:00 PM Nerf-Gun Wars\n";
//Set up schedule for sunday
Weekend *sunday = [[Weekend alloc] init];
sunday.day = @"Sunday, March 22nd";
sunday.events = @"2:00 AM Snack Time\n"
"6:30 AM Breaskfast\n"
"7:30 AM End Hacks\n"
"8:00 AM Expo 1\n"
"9:00 AM Expo 2\n"
"10:00 AM Closing Ceremony";
allWeekendDays = [NSArray arrayWithObjects:friday, saturday, sunday, nil];
- (void)didReceiveMemoryWarning
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
//Defines how many rows will be in my table
return [allWeekendDays count];
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
//Defines how each individual cell will loook like
static NSString *simpleTableIdentifier = @"WeekendCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
if (cell == nil)
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
Weekend *schedule = [allWeekendDays objectAtIndex:indexPath.row];
cell.textLabel.text = schedule.day;
cell.detailTextLabel.text = schedule.events;
return cell;
//Make a class for weekend days, similar to the president one in the demo
@end
【问题讨论】:
你能贴一张你的故事板的图片吗? 让我知道我是否应该为你放大任何地方 你仍然需要从你的 tableview 中按住 ctrl 并拖动到你各自的 VC 中吗?这不工作吗? 是的,这不起作用。我正在上传另一个屏幕截图。我将蓝线拖到我的 tableview 上,它没有像往常那样突出显示。 尝试将 tableView 名称更改为其他名称,即使连接它也会显示错误 【参考方案1】:按照这些步骤操作,希望对您有所帮助
1- 删除 ScheduleViewController 两个文件(选择删除引用)。
2- ctrl+shift+k (清理你的项目)
3-然后进入项目目录,再次将SchedularViewController文件拖到项目中。
4- 现在转到情节提要并尝试重新连接 tableView。
【讨论】:
以上是关于如何在情节提要中将属性 tableView 连接到 UITableView的主要内容,如果未能解决你的问题,请参考以下文章
将情节提要的 UITableView 连接到 .m UIViewController 作为 IBOutlet