iOS开发小技巧--userdefault存储复杂数据(image为例)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS开发小技巧--userdefault存储复杂数据(image为例)相关的知识,希望对你有一定的参考价值。

参考技术A 一、 首先简述一下 Userdefault (介绍使用了该作者的文章)

1.适合存储轻量级的本地数据。

比如用户id  用户的登录token什么的  这种比较短小的数据

2.NSUserDefaults支持的数据格式有:NSNumber、NSData、NSDate、NSString、NSArray、NSDictionary、BOOL。

3.以键值对的形式进行存储。

4.存储时间为整体应用程序的存储时间,如果想需要删除,需要删除整体应用程序。

⚠️ 存储声明的时候因为是动态的,先声明再调用,声明存储的时候不会出现异常提示,但执行的时候会出现   --断言--(因为存储对象在这里编译是nil)

iOS--开发小技巧(持续更新)

 // 模糊效果
        UIBlurEffect *effect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark];
        UIVisualEffectView *test = [[UIVisualEffectView alloc] initWithEffect:effect];
        test.frame = self.view.bounds;
        test.alpha = 0;
        [self.view addSubview:test];
_mytext = test;
    
    UISlider *slidel = [[UISlider alloc]initWithFrame:CGRectMake(30, 300, 200, 20)];
    slidel.backgroundColor = [UIColor purpleColor];
    slidel.value = 0;
    slidel.maximumValue = 1.0;
    slidel.minimumValue = 0.0;
    [self.view addSubview:slidel];
    slidel.enabled = YES;
    [slidel addTarget:self action:@selector(act:) forControlEvents:UIControlEventValueChanged];
    - (void)act:(UISlider *)slider
{
    _mytext.alpha = slider.value;
    
}

 

// 隐藏手机的状态栏
-(BOOL)prefersStatusBarHidden {
    return YES;
}

 

self.automaticallyAdjustsScrollViewInsets = YES; // 不让系统帮咱们把scrollView及其子类的视图向下调整64

 

 //状态栏显示网络请求提示器
    [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
    
    //将window显示在最外面.
    [[[[UIApplication sharedApplication] delegate] window] addSubview:self.view];
    

 

//cell高度
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    
    NSString *string = self.lrcArr[indexPath.row];
    
    CGRect frame = [string boundingRectWithSize:CGSizeMake([UIScreen mainScreen].bounds.size.width, 10000) options:(NSStringDrawingUsesLineFragmentOrigin) attributes:[NSDictionary dictionaryWithObject:[UIFont systemFontOfSize:17] forKey:NSFontAttributeName] context:nil];
    
    return frame.size.height;
    
}
// 在ARC工程中导入MRC的类  我们选中工程->选中targets中的工程,然后选中Build Phases->在导入的类后边加入标记 -  fno-objc-arc
// 在MRC工程中导入ARC的类 路径与上面一致,在该类后面加上标记 -fobjc-arc

 

以上是关于iOS开发小技巧--userdefault存储复杂数据(image为例)的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 14 中的主应用程序和小部件之间共享 UserDefaults

在 ios 框架项目中存储本地数据的最佳实践

iOS Swift 将领域对象存储到 UserDefaults.standard

iOS--开发小技巧(持续更新)

iOS开发小技巧--iOS8之后的cell自动计算高度

iOS开发之 小技巧