iOS 第二课 单例写法 本地存储登入登出 第三方缓冲圈

来源:互联网 发布:淘宝七天无理由退换货 编辑:程序博客网 时间:2024/06/11 05:25
单例写法:

+ (User *) shareInstance{

    staticdispatch_once_t once;

   staticUser * instance;

   dispatch_once(&once, ^{

        instance = [Usernew];

    });

   return instance;

}

登出,使用系统方法

#define UserDefaultNickname @"nickname"

#define UserDefaultPassword @"password"

#define UserDefaultPhoneNum @"phonenum"


+ (void) logOut{

    //删除本地存储

    NSUserDefaults *userDefaults = [NSUserDefaultsstandardUserDefaults];

    [userDefaultsremoveObjectForKey:UserDefaultPassword];

    [userDefaultsremoveObjectForKey:UserDefaultPhoneNum];

    [userDefaultssynchronize];//修改立即同步

     //云信登出

    [[[NIMSDKsharedSDK]loginManager]logout:nil];

}

登入存储信息到本地,方便自动登入

//将登陆信息存储到本地

//系统方法

NSUserDefaults *accountDefaults = [NSUserDefaultsstandardUserDefaults];

[accountDefaultssetObject:pwdforKey:UserDefaultPassword];

[accountDefaultssetObject:telNumStrforKey:UserDefaultPhoneNum];

读取本地存储

NSUserDefaults *accountDefaults = [NSUserDefaultsstandardUserDefaults];

   NSString *phonenum = [accountDefaultsobjectForKey:UserDefaultPhoneNum];

   NSString *password = [accountDefaultsobjectForKey:UserDefaultPassword];


 [SVProgressHUD show];//缓冲圈

    

    //异步开启线程,主线程执行缓冲圈

     /*[SVProgressHUD show];

     //开启异步线程

     dispatch_async(dispatch_get_global_queue(0, 0), ^{

         [T4HttpHelper connectAPIPath:MemberCenterLogin submitParam:@{}

         httpMethod:Get successBlock:^(NSDictionary *responseDic) {

              //切换到主线程

             dispatch_async(dispatch_get_main_queue(), ^{

                [SVProgressHUD dismiss];

                // write your codes here

             });

         

         } errorBlock:^(NSError *error) {

             dispatch_async(dispatch_get_main_queue(), ^{

                [SVProgressHUD dismiss];

                // write your codes here


             });

         }];

     });*/




0 0