Проблема FBConnect (IPHONE), код не запускается на didLoad - PullRequest
0 голосов
/ 21 января 2010

Три дня назад этот код работал ...: (

Ярлык не будет обновляться для отображения загруженного имени пользователя Facebook.

//Interface .h
IBOutlet UILabel *namefb;  
...
@property(nonatomic, retain)UILabel *namefb;


//Implementation .m

- (void)request:(FBRequest*)request didLoad:(id)result {

        NSArray* users = result;

    NSDictionary* user = [users objectAtIndex:0];

    NSString* name = [user objectForKey:@"name"];

       namefb.text=[NSString stringWithFormat:@"Log-in: %@", name];//not update
}

(я также подключил метку в IB и импортировал все делегаты fbconnect)

Когда я запускаю его в режиме отладки, имя переменной является правильным, но namefb.text не обновляется ..

Есть идеи?

извините за мой английский .. :)

Ответы [ 2 ]

1 голос
/ 21 января 2010

Ваш код предполагает три вещи:

  1. Объект result имеет тип NSArray.

  2. У NSArray есть по крайней мере один объект, который является NSDictionary.

  3. У этого объекта есть ключ "name", с которым связан NSString объект.

Проверьте каждую из этих трех вещей, возможно, с помощью некоторых операторов NSLog(), и вы должны увидеть, в чем проблема.

0 голосов
/ 22 января 2010

Убедитесь, что вы подключили namefb к объекту UILabel в Интерфейсном Разработчике. Простое создание этой переменной как выхода не приведет к тому, что объект появится там из воздуха - вам нужно создать объект (в IB) и подключить его к розетке (в IB).

Пока он не подключен к объекту, переменная будет содержать nil, а сообщение на nil ничего не сделает.

...