访问GTLPlusActivity属性

时间:2013-04-21 12:15:15

标签: iphone ios xcode google-plus

我已将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类具有许多属性,如图所示:

enter image description here

每当我尝试使用“。”访问属性时。运算符,如for循环中的“activity.actor”,它给出错误"Property 'actor' cannot be found in forward class object 'GTLPlusActivity'"。为什么我无法访问这些属性?我需要在UITableView中显示它们。

编辑:代码快照。红色清晰显示错误。

enter image description here

1 个答案:

答案 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"