三天前,这段代码有效...... :(
标签不会更新以显示加载的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委托)
当我在debug中运行它时,变量名是正确的,但namefb.text没有得到更新..
有什么想法吗?
抱歉我的英文.. :)答案 0 :(得分:1)
您的代码假设有三件事:
result
对象的类型为NSArray
。
NSArray
至少有一个对象,即NSDictionary
。
该对象的关键字“名称”与NSString
对象关联。
测试这三件事中的每一件,可能是使用一些NSLog()
语句,你应该看到问题出在哪里。
答案 1 :(得分:0)
确保已将namefb
连接到Interface Builder中的UILabel对象。简单地将该变量设为出口不会导致物体在空气中出现 - 您需要创建物体(在IB中)并将其插入插座(在IB中)。
在它连接到某个对象之前,该变量将保留nil
,而nil
的消息不会执行任何操作。