【问题标题】:UITabBarController with UITableView带有 UITableView 的 UITabBarController
【发布时间】:2012-04-13 11:27:21
【问题描述】:

我正在尝试在我的第一个视图中显示一个列表,所以在 first.h 中添加了这个:

    #import <UIKit/UIKit.h>

    @interface argospineFirstViewController : UIViewController
    <UITableViewDelegate,UITableViewDataSource>
   {
NSMutableArray *Journals;
IBOutlet UITableView *myTableView;
    }

   @property (nonatomic,retain) NSMutableArray *Journals;
   @property (nonatomic, retain) UITableView *myTableView;
    @end

然后我在我的 first.m 上添加了这个:

  @implementation argospineFirstViewController


- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
Journals=[NSMutableArray arrayWithObjects:@"journal1",@"journal2",nil];
}

-(NSInteger) numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
-(NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 2;
 }
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {


static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if (cell == nil) {

    cell = [[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier];
}
cell.text=[Journals objectAtIndex:indexPath.row];
return cell;

}

我是新手,所以我真的不知道我必须建立什么样的联系,我也在使用一个故事板,其中一个 tableview 放在第一个视图上。 我有什么要添加到代表的吗? 有什么帮助吗? 谢谢你的时间

【问题讨论】:

  • 您是否在 .xib 文件中建立了连接?
  • @M.Sharjeel 我没有任何.xib 文件我正在使用情节提要
  • 在下面试试我的答案并更新我!
  • 作为一般注释,变量名的第一个字母不要使用大写字母。例如,使用期刊而不是期刊。

标签: iphone ios uitableview uitabbarcontroller


【解决方案1】:

右键单击故事板中的 tableView。您将在 Outlets 下看到“delegate”和“dataSource”。将右侧的气泡拖到视图底部的视图控制器图标上。如果您不想以编程方式执行此操作,这将使您的视图控制器成为表格视图的委托和数据源。

【讨论】:

  • 视图控制器图标现在位于 Xcode 中视图控制器的顶部
【解决方案2】:

不要为您的表格视图对象创建属性。

还有,

viewDidLoad方法中写:

myTableView.dataSource = self;
myTableView.delegate = self;

如果有帮助请告诉我!

【讨论】:

  • 理论上他们应该做什么?
  • 是的,但不是很长时间...我移动了我的表格视图以更好地替换它,但我丢失了结果...这可能与连接有关吗?
  • 你现在在做什么?显示最新的 sn-p!
  • 其实我什么也没做,我只是在我再次编译的情节提要中移动了一点(拖放)tableview,但它没有工作
  • 我不知道如何设置它,因为我不明白它是如何工作的!!
【解决方案3】:

使用 initWithStyle 而不是 initWithFrame 来创建您的单元格。

在您的故事板中,选择您的表格视图并打开连接检查器。确保委托和数据源连接链接到您的 argospineFirstViewController 对象。

【讨论】:

    【解决方案4】:

    在IBOutlet中将tableview的delegote和datasource设置为filesOwner

    【讨论】:

    • 我该怎么做??是否有可能以编程方式进行?
    • [myTableView setDelegate:self]; [myTableView setDataSource:self];
    【解决方案5】:

    你使用 cell.text 来显示我认为它在 tableview 中不起作用的数据,试试这一行:-

    cell.textlabel.text=[yourArrayname objectatindex:index.row];
    

    无需连接您已经在协议中定义的委托。

    【讨论】:

    • cell.text 有效,但不建议这样做,因为它可能会在下一个版本中被删除
    猜你喜欢
    • 2013-05-06
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 2016-09-02
    • 1970-01-01
    • 1970-01-01
    • 2013-02-19
    • 1970-01-01
    相关资源
    最近更新 更多