0

イベントとユーザーの2つのエンティティがあります。

イベントには多くのユーザーがいます。すべてのイベントを一覧表示するテーブルビューがあり、1つの行をクリックすると、この行の管理対象オブジェクトが表示されます。宛先ビューコントローラーの管理対象オブジェクトをこれに設定します。すべてが機能していますが、私はできませんaddUsersObject。コードヒントはありません。このようなコード:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    Event *object = [self.fetchedResultsController objectAtIndexPath:indexPath];
    EventsViewController *eventsVC = [[EventsViewController alloc] init];
    eventsVC.event = object;
    [self.navigationController pushViewController:eventsVC animated:YES];
}

Event.h

@interface Event (CoreDataGeneratedAccessors)

- (void)addUsersObject:(User *)value;
- (void)removeUsersObject:(User *)value;
- (void)addUsers:(NSSet *)values;
- (void)removeUsers:(NSSet *)values;

デスティネーションビューコントローラで、実行する[self.event add]と、取得できませんaddUsersObject。私がしなかったのでallocinitイベントだと思います。ただし、これを行うと、新しいイベントオブジェクトが作成されます。選択した行のオブジェクトが必要です。

4

1 に答える 1

0

eventでプロパティをどのように宣言しますかEventsViewController.h

Eventクラスプロパティとして宣言する必要があります。

@property (nonatomic, strong) Event *event;

クラスを使用するにはEvent、ヘッダーファイルをにインポートする必要がありますEventsViewController.h

#import "Event.h"

それでもコードの完了が機能しない場合は、プロジェクトの派生データを削除する必要がある場合があります-プロジェクトを閉じてから、オーガナイザーに移動してプロジェクトを選択し、[派生データ]の横にある[削除...]ボタンをクリックします。次に、プロジェクトを再度開きます。インデックス作成が終了したら、コードの完成を取り戻す必要があります。

于 2013-01-30T05:29:08.427 に答える