我有一个非常奇怪的问题。
我创建对象DimensionItem:
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
@class Dimension;
@interface DimensionItem : NSManagedObject
@property (nonatomic, retain) NSNumber * dimItemID;
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) Dimension *dimension;
@end
在某些类中,我可以正常访问它的属性,但在我创建的某个对象中
DimensionItem * item = ...
item.name ----> Property 'name' not found on object of type 'DimensionItem'
我无法访问它,甚至关闭自动更正。
我在对象中包含标题:
#import "DimensionItem.h"
编辑:
有初始化代码请求:
DimensionItem * item = [cubeItem getDimensionItemWhitDimensionID:self.dimensionID andDimensionItemID:[obj1 dimensionItemIndex]];
cubeitem是另一个创建了NSManagedObject的核心数据,它与Dimension有一对多的关系,与DimensionItem有一对多的关系。
函数计算set中的位置并返回DimensionItem。
正如我所说,在某些对象中,这个功能与
一起使用item.name
但其他人不
答案 0 :(得分:1)
您不能像这样访问NSManagedObject
的属性,它不像普通对象。这是因为对这些属性的访问应由CoreData管理,而不是由您管理。
您需要使用:
//Set
[item setValue:@"myName" forKey:@"name"];
//Get
[item valueForKey:@"name"]