我有2个实体:事件和用户。
活动有很多用户。我有一个列出所有事件的tableview,当我点击一行时,我得到了这一行的托管对象。我将目标视图控制器的托管对象设置为此。一切正常,但我不能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
。我认为是因为我没有alloc
和init
事件。但如果我这样做,我会创建一个新的事件对象。我需要选择行中的对象。
答案 0 :(得分:0)
如何在event
EventsViewController.h
属性
您需要将其声明为Event
类属性:
@property (nonatomic, strong) Event *event;
要使用Event
类,您需要将头文件导入EventsViewController.h
#import "Event.h"
如果您的代码完成仍然无效,您可能需要删除项目的派生数据 - 关闭项目,然后转到管理器,选择项目,然后单击Derived旁边的删除...按钮数据。然后重新打开项目 - 索引完成后,您应该重新获得代码完成。