0

我有 2 个实体:事件和用户。

活动有很多用户。我有一个列出所有事件的表格视图,当我单击一行时,我得到了这一行的托管对象。我将目标视图控制器的托管对象设置为此。一切正常,但我不能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];
}

事件.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 回答