您的位置:首页 > 其它

人人网如何判断用户登录状态

2013-04-18 20:59 309 查看
将Renren API iOS SDK代码加入Xcode工程
为了判断用户登录状态,需要引用Renren
API iOS SDK提供的方法,因此这里需要先将之前下载到的Renren API iOS SDK代码加入到Xcode工程中。

通过在工程Classes目录下点击右键,分别执行“Add->New Group”和“Add->Existing Files...”,将Renren API iOS SDK中src目录下的文件都加入到工程中,加完后如下所示:





[编辑]
在NavRootViewController中创建Renren实例并判断用户登录状态

在NavRootViewController.h前面引用如下文件:

#import "RRConnect.h"


在NavRootViewController.h的@end前面加上一个属性,用于存储Renren实例:

@property (nonatomic, retain) Renren *renren;


在NavRootViewController.m的@implementation块开头加上合成代码:

@synthesize renren;


别忘了在NavRootViewController.m的dealloc方法中进行资源释放:

- (void)dealloc {
[self setRenren:nil];
[super dealloc];
}


实现NavRootViewController.m的viewDidLoad方法,如下:

注意:initWithAppKeyAndId:andAppId:这个方法的两个参数分别指的是API Key和App ID,请一定注意将这里的两个值替换你自己的App的API Key和App ID
- (void)viewDidLoad {
[super viewDidLoad];
self.renren = [[Renren alloc] initWithAppKeyAndId:@"02acbca93cd94983b8bc2cbf62912147" andAppId:@"144142"];
if (![self.renren isSessionValid]) {
//No session, go to login
//TODO
}
}

在上面这段代码中,我们创建了Renren实例,然后通过调用isSessionValid方法判断出用户是否处于登录状态。如果处于未登录状态,这里应该弹开登录界面让用户登录,代码下面会给出;如果处于登录状态,则走正常流程,接下来显示程序主界面。

[编辑]
弹开登录界面

在NavRootViewController.h开头添加如下前置声明:

@class RenrenLoginViewController;


在NavRootViewController.m顶部引用如下文件:

#import "RenrenLoginViewController.h"


在NavRootViewController.h中添加如下属性,用于存储管理登录界面的RenrenLoginViewController:

@property (nonatomic, retain) RenrenLoginViewController* renrenLoginViewController;


在NavRootViewController.m的@implementation块中加入如下合成代码:

@synthesize renrenLoginViewController;


别忘了在NavRootViewController.m的dealloc方法中对renrenLoginViewController属性进行释放:

- (void)dealloc {
[self setRenren:nil];
[self setRenrenLoginViewController:nil];
[super dealloc];
}


将弹开登录界面的动作封装成一个方法,在NavRootViewController.h中添加如下方法声明:

- (void)openRenrenLoginView;


在NavRootViewController.m中添加如下方法实现:

- (void)openRenrenLoginView{
self.renrenLoginViewController =
[[RenrenLoginViewController alloc] initWithNibName:@"RenrenLoginViewController" bundle:nil];
[self presentModalViewController:self.renrenLoginViewController animated:NO];
}

这段代码创建了RenrenLoginViewController实例,并采用Modal的方式来全屏展示它。

改写NavRootViewController.m的viewDidLoad方法,使得在判断出用户未登录状态下调用openRenrenLoginView方法弹开登录界面。改写后的viewDidLoad方法如下所示:

- (void)viewDidLoad {
[super viewDidLoad];
self.renren = [[Renren alloc] initWithAppKeyAndId:@"02acbca93cd94983b8bc2cbf62912147" andAppId:@"144142"];
if (![self.renren isSessionValid]) {
//No session, go to login
[self openRenrenLoginView];
}
}


编译后运行的结果,是显示用户登录界面(点击“用人人网帐号登录”的按钮还没有起作用,我们在下一节中完成):



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: