1

Alasdair Allan ページ 91 による Learning iOS Programming 2nd Edition book のコードに従っています。テーブル ビューの出力情報をテキスト ビューに作成しようとしています。このコードを追加する前に、他のすべてが機能します。delegate.cities は、AppDelegate 内の都市と呼ばれる NSMutableArray を参照します。

NSUIntegerを期待するobjectAtIndexと関係があるかもしれないと思いますが、本にはindex.rowを送信するように書かれています。indexは、このクラスにインポートした SimpleView クラスにある NSIndexPath型です。NSInteger型であるため、問題は、本が 符号なし整数を期待しているときにobjectAtIndexに符号付き整数を送信することを望んでいることであると想定しています。それは彼の問題でしょうか?もしそうなら、どうすれば修正できますか?

エラー メッセージ: メンバー参照の基本型 'char (const char ,int)' は構造体または共用体ではありません

これが私の機能です:

-(void)viewDidLoad
{
    [super viewDidLoad];

    AppDelegate *delegate = 
            (AppDelegate *)[[UIApplication sharedApplication] delegate];

    City *thisCity = [delegate.cities objectAtIndex:index.row]; //error with index.row

    self.title = thisCity.cityName;
}
4

1 に答える 1

2

index()システム ヘッダーのグローバル関数string.hは、エラーの署名と同様の署名で定義されています ( char* (const char*, int))。コンパイラは、その関数に構造体または共用体としてアクセスしようとしていると考えているようです (つまり、on を使用.rowすることで、構造体に対して行うことができます)。

どうやらindex、クラスに名前が付けられたフィールドがないか (クラスを表示していないので推測しています)、コンパイラが何らかの形でそれを正しく解決していないようです。正しいフィールド名を使用するか、 などを使用してあいまいさをなくしてself->index.rowください。

于 2012-07-29T20:22:26.007 に答える