-1

iOS開発初心者です。
SQLite データベースからデータを読み取り、共有インスタンス (シングル トーン クラス) の NSMutable 配列に格納するアプリケーションに取り組んでいます。
後で NSMutableArray からカスタム テーブル セルに値を割り当てます。
しかし、アプリケーションの実行中に、アプリケーションはメッセージで終了しています:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 
'-[Name isEqualToString:]: unrecognized selector sent to instance 0x6824fe0'

以下は、cellForRowAtIndexPath のコードの一部です。

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

static NSString *CellIdentifier = @"CustomTableViewCell";

CustomTableViewCell *cell = (CustomTableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
    NSArray *nib=[[NSBundle mainBundle] loadNibNamed:@"CustomTableViewCell" owner:self options:nil];
    cell = [nib objectAtIndex:0];
}

cell.menuNameLabel.text=[_hotelMenu._menuList objectAtIndex:indexPath.row];
cell.menuImage.image=[UIImage imageNamed:@"veg.png"];

return cell;
}
4

1 に答える 1

0

isEqualToString基本的に、Nameオブジェクトを使用して呼び出しています。(ポインター型が「NSString」であることを気にしないでください。オブジェクトはNameオブジェクトです。Objective-Cランタイムはポインター型について気にしません。)

したがって、その理由を理解する必要があります。それは単純な間抜けかもしれませんし、厄介なストレージの問題かもしれません。ただし、初心者の場合は、エラーメッセージとそれに隣接するスタックトレースバックを実際に確認し、エラーが発生している場所、つまりどのポインタ変数が関係しているかを把握する必要があります。

于 2013-02-06T13:15:35.527 に答える