我已将Google Plus iOS SDK v1.2.1集成到我的iOS应用中。身份验证后,我正在尝试获取用户的活动供稿。我的代码如下:
GTLServicePlus* plusService = [[GTLServicePlus alloc] init];
[plusService setAuthorizer:[GPPSignIn sharedInstance].authentication];
plusService.retryEnabled = YES;
GTLQueryPlus *query = [GTLQueryPlus queryForActivitiesListWithUserId:@"me" collection:kGTLPlusCollectionPublic];
[plusService executeQuery:query
completionHandler:^(GTLServiceTicket *ticket,
GTLPlusActivityFeed *data,
NSError *error) {
for (GTLPlusActivity *activity in data.items) {
// ITERATE THROUGH THE ACTIVITIES
NSString *publishedDate = activity.published; <---- ERROR
// "PROPERTY 'published' CANNOT BE FOUND
// IN FORWARD CLASS OBJECT "GTLPLusActivity""
// WHY ARE THE VARIABLES SUCH AS published, placeName,
// title, actor etc NOT ACCESSIBLE
}
}];
我能够成功检索用户的帖子。 GTLPlusActivity类具有许多属性,如图所示:
每当我尝试使用“。”访问属性时。运算符,如for循环中的“activity.actor”,它给出错误"Property 'actor' cannot be found in forward class object 'GTLPlusActivity'"
。为什么我无法访问这些属性?我需要在UITableView中显示它们。
编辑:代码快照。红色清晰显示错误。
答案 0 :(得分:3)
首先,检查错误情况并确保错误代码为零。我已经尝试过你的代码了,它在我的最终工作正常,所以最有可能的是,你回复的响应存在问题。通常,activity.actor将返回GTLPlusActivityActor。
尝试类似:
if (error) {
NSLog(@"Status: Error: %@", error);
}
else
<Do stuff>
编辑:此外,我们的iOS快速入门是查看我们如何处理代码的某些部分的绝佳资源。 ListMoments位与处理活动非常相似。 https://developers.google.com/+/quickstart/ios
编辑2:另外,请确保您拥有所有正确的导入。尝试
#import "GTLPlusActivity.h"
或
#import "GTLPlus.h"