这是我第一次在这里发帖提问。通常,我在网上找到了我的Iphone项目问题的帮助,但在这里我真的很难!
我使用facebook iphone-sdk在用户的墙上发布一些信息。一切正常。但是当我使用fbconnect登录按钮注销时,我有一个泄漏内存。
以下是我在测试的实现文件中使用的代码:
- (void)viewDidLoad {
//session facebook
session = [[FBSession sessionForApplication:@"APP_KEY"
secret:@"SECRET_KEY"
delegate:self] retain];
//facebook bouton connect
FBLoginButton *logButton = [[[FBLoginButton alloc] init] autorelease];
[self.view addSubview:logButton];
[super viewDidLoad];
}
- (void) session:(FBSession *) session didLogin:(FBUID) uid {
NSLog(@"login ok");
}
- (void)sessionDidLogout:(FBSession*) session {
NSLog(@"didLogOut called");
}
如你所见,我什么也没做。因此,当我测试这个应用程序时,我将连接推送到facebook但是我没有问题就登录了。 但是,当我按下现在标记为logout的相同按钮时,我会退出,然后就会出现内存泄漏。
在仪器中,我可以找到问题的根源,并且它会在FBSession.m文件中找到导致此泄漏的注销方法。特别是当从logout方法调用unsave方法时,因为如果我对调用进行注释,则不会出现内存泄漏。
所以我需要帮助找出导致这种情况的原因。
答案 0 :(得分:0)
我自己是新手,但是将[super viewDidLoad]置于顶部而不是底层帮助?我们将您的会话信息添加到视图中,我们希望在加载所有父类视图后添加它。