我已在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中的值?
答案 0 :(得分:0)
在提出这个问题之前,应该挖得更多。
使用了错误的类型转换,感谢所有人。