对象的属性未在其他对象中显示

时间:2013-10-30 08:16:10

标签: ios xcode properties nsmanagedobject nsobject

我有一个非常奇怪的问题。

我创建对象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

但其他人不

1 个答案:

答案 0 :(得分:1)

您不能像这样访问NSManagedObject的属性,它不像普通对象。这是因为对这些属性的访问应由CoreData管理,而不是由您管理。

您需要使用:

//Set
[item setValue:@"myName" forKey:@"name"];

//Get
[item valueForKey:@"name"]