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

将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];
	}
}


  • 编译后运行的结果,是显示用户登录界面(点击“用人人网帐号登录”的按钮还没有起作用,我们在下一节中完成):
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值