0

3日前、このコードは機能しました...:(

ロードされた 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 が更新されません。

何か案は?

私の英語でごめんなさい..:)

4

2 に答える 2

1

コードは次の 3 つのことを前提としています。

  1. resultオブジェクトのタイプはですNSArray

  2. にはNSArray少なくとも 1 つのオブジェクトがあり、これはNSDictionaryです。

  3. NSStringそのオブジェクトには、関連付けられたオブジェクトを持つキー「名前」があります。

おそらくいくつかのステートメントを使用して、これら 3 つのことをそれぞれテストすると、NSLog()どこに問題があるかがわかります。

于 2010-01-21T18:11:09.290 に答える
0

namefbInterface Builder で UILabel オブジェクトに接続していることを確認してください。その変数をアウトレットにするだけでは、オブジェクトがどこからともなく出現するわけではありません。オブジェクトを作成し (IB で)、それをアウトレットに接続する必要があります (IB で)。

オブジェクトに接続されるまで、変数は保持されnil、メッセージ toは何もしnilません。

于 2010-01-22T04:08:01.940 に答える