美文网首页
输入账号加载对应的头像

输入账号加载对应的头像

作者: 我想说_ | 来源:发表于2017-06-17 15:51 被阅读0次

    为了实现用户登录 再输入账号时候加载已经登录过的用户头像

    先说思路,然后根据思路上代码

    1、用户登录后获取用户信息并储存

     2、当用户更换头像后需要替换之前的

    3、登录时根据用户输入的账号去加载本地储存的相对应的用户头像

    ---------------------------------------代码---------------------------------------

    宏定义

    #define JTUserDefaults [NSUserDefaults standardUserDefaults] 

    1、储存信息:创建一个可变字典将NSUserDefaults对象存到这个字典中 然后再讲手机号作为key值,头像地址作为value放在这个字典中,最后把字典写入本地

    NSMutableDictionary*mutableDic =[NSMutableDictionary dictionaryWithDictionary:[JTUserDefaults objectForKey:@"userImageUrl"]];

    [mutableDic setValue:dic[@"avatar_img"] forKey:dic[@"phone"]];

    [JTUserDefaults setObject:mutableDic forKey:@"userImageUrl"];

    [JTUserDefaults synchronize];

    (还可以声明一个字典存用户手机号和头像,是为了用户退出后,再去登陆的时候去读取加载上次登录的用户头像,这个字典不需要储存多条)

    2、更换头像:取出本地储存头像 根据key(电话号码)改变Value(原来的头像地址)

    NSMutableDictionary*mutableDic = [NSMutableDictionary dictionaryWithDictionary:[JTUserDefaults objectForKey:@"userImageUrl"]];

    //取出当前手机号,根据取出的key像替换掉原来的value 也就是替换掉头像地址

    NSString*phone = [NSString stringWithFormat:@"%@",[YCUserData sharedManager].phone];

    mutableDic[phone] = obj[@"data"];

    [JTUserDefaults setObject:mutableDic forKey:@"userImageUrl"];

    [JTUserDefaults synchronize];

    3、匹配本地头像:在这个textField代理事件中找到对应的头像

    #pragma mark -- textField代理事件

    - (BOOL)textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString*)string {

    NSString* toBeString = [textField.textstringByReplacingCharactersInRange:rangewithString:string];

    JTDLog(@"%@",toBeString);

    if(textField.tag==10) {

    if(textField.text.length>=13&& ![stringisEqualToString:@""]) {

    returnNO;

    }

    NSMutableDictionary*mutableDic = [NSMutableDictionarydictionaryWithDictionary:[JTUserDefaultsobjectForKey:@"userImageUrl"]];

    if(IsArrOrDicEmpty(mutableDic)) {

    }else{

    NSArray*phoneArr =mutableDic.allKeys;

    if(toBeString.length==0) {

    [_headerImagesetImage:IMAGE_NAME(@"user_head")];

    returnYES;

    }

    for(NSString*strinphoneArr) {

    if([strcontainsString:toBeString]) {

    NSString*imageUrl =[mutableDicobjectForKey:str];

    [_headerImagesd_setImageWithURL:[NSURLURLWithString:imageUrl]placeholderImage:IMAGE_NAME(@"user_head")];

    break;

    }else{

    [_headerImagesd_setImageWithURL:[NSURLURLWithString:@""]placeholderImage:IMAGE_NAME(@"user_head")];

    }

    }

    }

    }else{

    if(textField.text.length>=21&& ![stringisEqualToString:@""]) {

    returnNO;

    }

    }

    returnYES;

    }

    相关文章

      网友评论

          本文标题:输入账号加载对应的头像

          本文链接:https://www.haomeiwen.com/subject/fstbqxtx.html