在ios中访问google端点API块对象的值

时间:2014-01-13 21:09:22

标签: ios objective-c google-cloud-endpoints

我已在google appengine API上编写后端,该API正在运行(使用API​​资源管理器进行检查)。 在执行我的API时,我应该返回多个产品。

下面的ios代码可以工作,我确认NSLog会转储所有对象。

GTLServiceTicket *apiCall = [shoesService executeQuery:shoesQuery completionHandler:^(GTLServiceTicket *ticket, GTLProductApiManyProduct *object, NSError *error)
 {
         NSArray *receivedItems = [object items];

         NSLog(@"%@",receivedItems); // this works shows objects with all propeties and corresponding values

         // This is apparently an error, xcode wont allow this even when typing
         NSLog(@"Product id:%@", [[receivedItems objectatIndex:0] productId]);

         //Type casting also does not work in either case below.

         NSLog(@"Product id:%@", (GTLProductOneProduct *)[[receivedItems objectatIndex:0] productId])

 }
 ];

我认为问题是因为所有属性都被自动声明为@dynamic

如何访问返回的*对象的GTLProductOneProduct类中的属性? 如果您的api收到包含(GTLProductAPIOneProduct)的产品块(GTLProductAPIManyProducts),您如何访问GTLProductAPIOneProduct中的值?

1 个答案:

答案 0 :(得分:0)

在提出这个问题之前,应该挖得更多。

使用了错误的类型转换,感谢所有人。