0

セルをタップしたいテーブルがあり、別のテーブルに移動します。Xcode 4.3.2で実行中にこのエラーが発生しました:

 return UIApplicationMain(argc, argv, nil, NSStringFromClass([RanchForecastTouchAppDelegate class]));

 Thread 1: Signal SIGABRT

このフォーラムでこのエラーに関連する多くの回答を見ましたが、うまくいきませんでした。それが私がもう一度質問した理由です。

私のコードは次のとおりです:CreateViewController.h

#import <UIKit/UIKit.h>

@interface CreateViewController : UIViewController <
UITableViewDataSource, UITableViewDelegate>
{
NSArray *tableData;

}

@property (nonatomic, retain) NSArray *tableData;
@end

CreateViewController.m

#import "CreateViewController.h"

@implementation CreateViewController
@synthesize tableData;


#pragma mark - View lifecycle

- (void)viewDidLoad
{
tableData = [[NSArray alloc] initWithObjects:@"Johan", @"Paul",@"George",@"Ringo", nil];
[super viewDidLoad];
// Do any additional setup after loading the view.
}

#pragma mark - TableView Data Source methods

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
{
return [tableData count];

}


  - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
{
UITableViewCell *cell = nil;

cell = [tableView dequeueReusableCellWithIdentifier:@"MyCell"];
if(cell == nil)
{
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"MyCell"];

}
cell.textLabel.text = [tableData objectAtIndex:indexPath.row];

return cell;
}


 @end

コンソールのエラーメッセージ:

[UIViewController tableView:numberOfRowsInSection:]: unrecognized selector sent to instance 0x68ab4d0

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIViewController tableView:numberOfRowsInSection:]: unrecognized selector sent to instance 0x68ab4d0'

編集:

#import "RanchForecastTouchViewController.h"

@interface RanchForecastTouchViewController ()

@end

@implementation RanchForecastTouchViewController

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}

- (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
    return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
} else {
    return YES;
}
}

 @end

RanchForecastTouchViewController.h

#import <UIKit/UIKit.h>

@interface RanchForecastTouchViewController : UIViewController

@end
4

2 に答える 2

0

行の最後にセミコロンを追加しました

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
{ ...
}

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

それらを削除するだけです

于 2012-04-23T10:32:35.847 に答える
0

ユーザーインターフェイスの接続を確認してください。接続が間違っている可能性があります。

于 2012-04-25T00:26:36.360 に答える