启动应用程序时发出SIGABRT信号

时间:2013-10-16 17:52:04

标签: ios uiviewcontroller tableview

我正在尝试使用视图控制器创建一个窗口(我猜这就像.Net中的GroupBox(如果我错了就修复我......))并且我试图在模拟器上启动应用程序并且它扔了一个例外。 我正在使用故事板。

我的代码是:

//
//  ViewController.m
//  100FMPlayer
//
//  Created by Guy Kaplan on 7/14/13.
//  Copyright (c) 2013 Guy Kaplan. All rights reserved.
//
#import "Song.h"
#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

-(id)init
{
    self = [super init];
    self.arSongsCollection = [[NSMutableArray alloc] init];

    _tableView.delegate = self;
    _tableView.dataSource = self.arSongsCollection;
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    [_arSongsCollection addObject:[[Song alloc] initWithTitle:@"Song" andArtist:@"Artist" andURL:[NSURL URLWithString:@"http://songurl.com/song.mp3"]]];

}

@end

1 个答案:

答案 0 :(得分:1)

这条线会给你带来麻烦:

   _tableView.dataSource = self.arSongsCollection;

dataSource更像是委托。它是一个协议,应该是一个可以处理方法回调的对象(比如你的viewContoller)。

您最有可能想要设置

   _tableView.dataSource = self;

我认为你应该玩一些苹果的示例项目。他们帮助我进入了iOS领域。