-4

我对 XCode 了解不多。好吧,我对 XCode 几乎一无所知。但是我遇到了 TableView 的问题。

我正在关注本教程,但是当我尝试自己制作时,除了 TableView 项目外,一切都完美无缺。我尝试过的所有涉及表格视图的教程都给我同样的问题。没有显示任何项目:(我将留下完整项目的下载链接,因为我不确定你们需要什么代码来帮助我。

下载链接 (MediaFire)

请帮忙!我的头快要爆炸了......

这是我尝试运行应用程序时遇到的错误。

//
//  main.m
//  Demo TWo
//
//  Created by Alexander Pina on 2/18/13.
//  Copyright (c) 2013 Alexander Pina. All rights reserved.
//

#import <UIKit/UIKit.h>

#import "AppDelegate.h"

int main(int argc, char *argv[])
{
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
}

在 @autoreleasepoo { ... 它告诉我,“线程 1:信号 SIGABRT

4

3 回答 3

0

添加委托和数据源。我认为您忘记添加代表和数据源,这就是它不显示表格的原因。将以下行添加到您的 viewDidLoad().like 下面的代码

self.myTableView.dataSource = self;
  self.myTableView.delegate = self;
于 2013-02-19T02:01:18.897 回答
0

我看了你的项目。我认为您的问题是由 Xcode 中的错误引起的。这可能发生在连接 xib 或 Storyboard 文件时,在 xib 文件的文件检查器中更改某些内容后,我多次遇到问题。

即使您在情节提要中将 UITableViewController 的自定义类名称设置为 Tab2_TableViewController,您的 Tab2_TableViewController 类代码也没有被使用。我通过在 Tab2_TableViewController 子类的 viewDidLoad 中放置一个断点来测试这一点,并看到该方法从未被调用过。它应该可以工作,但是 Xcode 中有些东西搞砸了,所以它不起作用。

我通过这样做解决了这个问题:

  • 将 Tab2_TableViewController.h 和 .m 文件复制到另一个文件夹
  • 从 Xcode 项目中删除 Tab2_TableViewController.h 和 .m
  • 将 Tab2_TableViewController.h 和 .m 从另一个文件夹复制回 Xcode 项目。

这就是我所做的一切,它解决了问题,表格视图单元格现在正在加载到视图中。


实际上,我找到了解决问题的更好方法。在 Xcode Project Navigator 中,选择项目文件。选择目标 DemoTWo->Build Phases->Compile Sources。点击小“+”按钮并添加 Tab2_TableViewController.m。通常,当您添加文件时,它们会自动添加到此列表中,但无论出于何种原因,您的情况下都没有添加该文件。

在此处输入图像描述

于 2013-02-19T06:13:50.913 回答
-1

试试这个,

-> 只需在您的 xcode 中创建基于单个 View Application 的示例项目

视图控制器.h

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController<UITableViewDataSource,UITableViewDelegate>

{
IBOutlet UITableView *TableView;
NSArray *arrItems;
}
@end

视图控制器.m

     #import "ViewController.h"
     @interface ViewController ()

     @end

     @implementation ViewController

      - (void)viewDidLoad
     {
         [super viewDidLoad];
         arrItems =[[NSArray alloc]initWithObjects:@"row1",@"row2",@"row3",@"row4",@"row5",@"row6",@"row7", nil];
        TableView.dataSource =self;
         TableView.delegate =self;
// Do any additional setup after loading the view, typically from a nib.
     }
        #pragma mark -
        #pragma mark Table view data source

      - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
         // Return the number of sections.
         return 1;
         }


      - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
         // Return the number of rows in the section.
      return [arrItems count];
              }


         - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

        static NSString *CellIdentifier = @"Cell";

       UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
         if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];

    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    [cell.textLabel setFont:[UIFont boldSystemFontOfSize:16]];
    [cell.textLabel setTextColor:[UIColor colorWithRed:0 green:0.5 blue:0 alpha:1]];
          }

    cell.textLabel.text = [arrItems objectAtIndex:indexPath.row];
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    return cell;
         }



     #pragma mark -
     #pragma mark Table view delegate

         - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {


         }
于 2013-02-19T04:16:35.857 回答