2012-08-01 37 views
0

我正在开发需要来自ODATA服务的数据的iPad应用程序。该服务提供活动列表,每个活动都有详细信息。在iOS应用程序中执行ODATA READ查询

冷杉我得到两个日期(date_from和date_to)之间的所有活动的列表。该列表具有“id”,“description”,“date_from”和“date_to”。

代码:

WindowsCredential *cred = [[[WindowsCredential alloc] initWithUserName:@"user" password:@"password"]autorelease]; 


    PROXY001 *proxy = [[PROXY001 alloc] initWithUri:@"http://ip:8000/odata/PROXY001/" credential:cred]; 

    DataServiceQuery *query =[proxy v1collection]; 
    [query filter:@"owner eq 'OWNER' and date_from eq '20120101' and date_to eq '20121231'"]; 

    QueryOperationResponse *response = [query execute]; 

    NSMutableArray *activities = [[NSMutableArray alloc] init]; 

    activities =[[response getResult] retain]; 


    for (int i=0; i<activities.count; i++) { 


     v1collection *c = [activities objectAtIndex:i]; 

     //etc... 

    } 

但我需要得到每个活动的更多细节。为了完成这一我有这样的URI:

http://ip:8000/odata/PROXY001/v1collection(binary'0050569C007D1ED1A8E615C3E1D843E1') 

binary'0050569C007D1ED1A8E615C3E1D843E1' 是一个活动的‘身份证’。

问题是我不知道如何与ObjectiveC做到这一点。

对不起,我的英语。

谢谢!

回答

0

我找到了解决方案。

NSString *stringToExecute = [NSString stringWithFormat:@"v1Collection(binary'%@')", guid]; 
QueryOperationResponse *response = [proxy execute:stringToExecute]; 
NSMutableArray *activitiesArray = [response getResult]; 
Activities* activity = [activitiesArray objectAtIndex:0]; 
NSLog(@"Localization = %@", activity.getact_location); 
相关问题