在.h文件中声明的实体的访问属性
问题描述:
我是xcode的新手,正在尝试使用我没有编写的代码。非常抱歉,如果这是一个愚蠢的问题!在.h文件中声明的实体的访问属性
运行我的代码后,我在这里创建实体(实体由Entities.h定义):
Entities *proxy = [[Entities alloc]initWithUri:@"http://localhost:8080/Resource/example.svc" credential:nil];
DataServiceQuery *qry = [proxy person];
QueryOperationResponse *result = [qry execute];
items = [result getResult];
NSLog(@"items size: %@", items);
这个伟大的工程,并打印如下:
然而,我没有IDEA如何访问Model_person中的变量。
从Entities.h相关的代码是:
/**
* @interface:person
* @Type:EntityType
* @key:person_id*
*/
@interface Model_person : ODataObject
{
/**
* @Type:EntityProperty
* @EdmType:Edm.Int32
*/
NSNumber *m_person_id;
/**
* @Type:EntityProperty
* @EdmType:Edm.String
* @MaxLength:255
* @FixedLength:
*/
NSString *m_person_role;
/**
* @Type:EntityProperty
* @EdmType:Edm.String
* @MaxLength:255
* @FixedLength:
*/
NSString *m_person_firstname;
/**
* @Type:EntityProperty
* @EdmType:Edm.Int32
*/
NSNumber *m_person_department;
/**
* @Type:EntityProperty
* @EdmType:Edm.Int32
*/
NSNumber *m_person_contractor;
/**
* @Type:EntityProperty
* @EdmType:Edm.Int32
*/
NSNumber *m_person_supervisor;
/**
* @Type:EntityProperty
* @EdmType:Edm.Int32
*/
NSNumber *m_person_admin;
/**
* @Type:EntityProperty
* @EdmType:Edm.Int32
*/
NSNumber *m_person_workweek;
/**
* @Type:EntityProperty
* @EdmType:Edm.String
* @MaxLength:255
* @FixedLength:
*/
NSString *m_person_employee_id;
/**
* @Type:EntityProperty
* @EdmType:Edm.Int32
*/
NSNumber *m_person_billrate;
/**
* @Type:EntityProperty
* @EdmType:Edm.String
* @MaxLength:255
* @FixedLength:
*/
NSString *m_person_lastname;
/**
* @Type:EntityProperty
* @EdmType:Edm.Int32
*/
NSNumber *m_person_active;
}
@property (nonatomic , retain , getter=getperson_id , setter=setperson_id :)NSNumber *m_person_id;
@property (nonatomic , retain , getter=getperson_role , setter=setperson_role :) NSString *m_person_role;
@property (nonatomic , retain , getter=getperson_firstname , setter=setperson_firstname :) NSString *m_person_firstname;
@property (nonatomic , retain , getter=getperson_department , setter=setperson_department :)NSNumber *m_person_department;
@property (nonatomic , retain , getter=getperson_contractor , setter=setperson_contractor :)NSNumber *m_person_contractor;
@property (nonatomic , retain , getter=getperson_supervisor , setter=setperson_supervisor :)NSNumber *m_person_supervisor;
@property (nonatomic , retain , getter=getperson_admin , setter=setperson_admin :)NSNumber *m_person_admin;
@property (nonatomic , retain , getter=getperson_workweek , setter=setperson_workweek :)NSNumber *m_person_workweek;
@property (nonatomic , retain , getter=getperson_employee_id , setter=setperson_employee_id :) NSString *m_person_employee_id;
@property (nonatomic , retain , getter=getperson_billrate , setter=setperson_billrate :)NSNumber *m_person_billrate;
@property (nonatomic , retain , getter=getperson_lastname , setter=setperson_lastname :) NSString *m_person_lastname;
@property (nonatomic , retain , getter=getperson_active , setter=setperson_active :)NSNumber *m_person_active;
+ (id) Createperson;
- (id) init;
- (id) initWithUri:(NSString*)anUri;
@end
注: 我试图访问元素的cellForRowAtIndexPath后续的方式:
Entities *event = [items objectAtIndex:indexPath.row];
cell.textLabel.text = [[[event getperson] objectAtIndex: 0] getName];
丢给一个错误说“不'DataServiceQuery'的可见@interface声明选择器'ObjectAtIndex'“
UPDATE:
getperson也被定义在Entities.h:
/**
* Container interface Entities, Namespace: Model
*/
@interface Entities : ObjectContext
{
NSString *m_OData_etag;
DataServiceQuery *m_member;
DataServiceQuery *m_cumulative;
DataServiceQuery *m_date;
DataServiceQuery *m_holiday;
DataServiceQuery *m_associations;
DataServiceQuery *m_department;
DataServiceQuery *m_person;
DataServiceQuery *m_project;
}
@property (nonatomic , retain , getter=getEtag , setter=setEtag :)NSString *m_OData_etag;
@property (nonatomic , retain , getter=getmember , setter=setmember :) DataServiceQuery *m_member;
@property (nonatomic , retain , getter=getcumulative , setter=setcumulative :) DataServiceQuery *m_cumulative;
@property (nonatomic , retain , getter=getdate , setter=setdate :) DataServiceQuery *m_date;
@property (nonatomic , retain , getter=getholiday , setter=setholiday :) DataServiceQuery *m_holiday;
@property (nonatomic , retain , getter=getassociations , setter=setassociations :) DataServiceQuery *m_associations;
@property (nonatomic , retain , getter=getdepartment , setter=setdepartment :) DataServiceQuery *m_department;
@property (nonatomic , retain , getter=getperson , setter=setperson :) DataServiceQuery *m_person;
@property (nonatomic , retain , getter=getproject , setter=setproject :) DataServiceQuery *m_project;
- (id) init;
- (id) initWithUri:(NSString*)anUri credential:(id)acredential;
- (id) member;
- (id) cumulative;
- (id) date;
- (id) holiday;
- (id) associations;
- (id) department;
- (id) person;
- (id) project;
- (void) addTomember:(id)anObject;
- (void) addTocumulative:(id)anObject;
- (void) addTodate:(id)anObject;
- (void) addToholiday:(id)anObject;
- (void) addToassociations:(id)anObject;
- (void) addTodepartment:(id)anObject;
- (void) addToperson:(id)anObject;
- (void) addToproject:(id)anObject;
@end
答
我想你应该写的财产以后这样的:
Model_person* modelPerson = [items objectAtIndex:indexPath.row];
cell.textLabel.text = modelPerson.getperson_firstname;
,而不是
Entities *event = [items objectAtIndex:indexPath.row];
cell.textLabel.text = [[[event getperson] objectAtIndex: 0] getName];
+0
你是我的绝对HERO!非常完美!非常感谢你!!!:D – AllieCat
所以'items'不似乎是一个阵列。这两个代码在哪里? – Wain
项目是NSMutableArray。什么是“2段代码”? – AllieCat
好的,那么定义getperson是什么,它返回什么? – Wain