2013-04-21 3 views
1

Я включил Google Plus iOS SDK v1.2.1 в свое приложение для iOS. После проверки подлинности я пытаюсь извлечь фид активности пользователя. Мой код выглядит следующим образом:Доступ к свойствам GTLPlusActivity

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

Всякий раз, когда я пытаюсь получить доступ к свойствам, используя «» оператора, такого как «activity.actor» в цикле for, он дает ошибку "Property 'actor' cannot be found in forward class object 'GTLPlusActivity'". Почему я не могу получить доступ к свойствам? Мне нужно отобразить их в UITableView.

EDIT: Код Снимок. Ошибка отображается в красном.

enter image description here

ответ

3

Во-первых, проверьте состояние ошибки и убедитесь, что код ошибки равен нулю. Я пробовал свой код, и он работает правильно на моем конце, поэтому, скорее всего, есть проблема с ответом, который вы возвращаете. Обычно activity.actor возвращает GTLPlusActivityActor.

Попробуйте что-то вроде:

if (error) { NSLog(@"Status: Error: %@", error); } else <Do stuff>

EDIT: Кроме того, наша IOS быстрого запуска является большим ресурсом для видя, как мы обрабатываем некоторые части кода. Бит ListMoments очень похож на работу. https://developers.google.com/+/quickstart/ios

EDIT 2: Кроме того, убедитесь, что у вас есть все необходимые импортные товары. Попробуйте

#import "GTLPlusActivity.h" 

или

#import "GTLPlus.h" 
+0

Проблема не что я не в состоянии получить сообщения. Я не получаю никаких ошибок. Проблема в том, что я не могу получить доступ к свойствам класса «GTLPlusActivity». Я добавляю редактирование, чтобы объяснить это лучше. –

+0

Отредактировал поле кода в цикле for в моем вопросе. Как вы можете видеть, я пытаюсь получить доступ к опубликованной дате для каждого вида деятельности. Но это дает ошибку. Он говорит, что опубликованное свойство (и все остальные) класса «GTLPlusActivity» не может быть найдено, даже если в объявлении класса четко указаны все свойства. –

+0

О, я думаю, вы пропустили импорт. Я отредактирую свой ответ. – Joanna

Смежные вопросы