首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏iOS 开发杂谈

    浅谈 NSUserDefaults

    NSUserDefaults 适用于快速读取小规模的数据 NSUserDefaults *standardDefaults = [NSUserDefaults standardUserDefaults] 可以理解成键值对 有时在写数据之前,想判断下这个健是否已经设置过默认值 NSUserDefaults *standardDefaults = [NSUserDefaults standardUserDefaults *standardDefaults = [NSUserDefaults standardUserDefaults]; [standardDefaults registerDefaults:@{@"favoriteColor 但是并不是所有类型的对象都能够直接放入 NSUserDefaultsNSUserDefaults 只支持 Foundation 类型的对象,如果自定义 NSObject 对象存入 NSUserDefaults *standardDefaults = [NSUserDefaults standardUserDefaults]; Person *person = [[Person alloc] init]; NSData

    81160发布于 2018-09-30
  • 来自专栏韦弦的偶尔分享

    清空所有 NSUserDefaults 记录

    在日常 iOS 开发中,我们有时会在我们的应用程序中使用NSUserdefaults来在应用程序中存储一些基本配置或设置。 有时候我们需要清空所有使用 NSUserDefaults 的记录,但是我们常用的都是removeObject,即移除特定的值: UserDefaults.standard.removeObject(forKey

    2K10发布于 2020-09-01
  • 来自专栏進无尽的文章

    编码篇-持久化NSUserDefaults

    NSUserDefaults是单例,同时也是线程安全的 NSUserDefaults 的使用 简便方法存取不同类型数据 由上边的例子可以看到一个方法-setInteger:,这跟常用的-setObject [[NSUserDefaults standardUserDefaults] setObject:obj forKey:key]; [[NSUserDefaults standardUserDefaults ] removeObjectForKey:key]; [[NSUserDefaults standardUserDefaults] synchronize]; } 打印出系统中所有的 NSUserDefaults 储存 Test *bc = [[Test alloc] init]; NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; NSData "]; [userDefaults synchronize]; } - (School *)getSchool { NSUserDefaults *userDefaults = [NSUserDefaults

    1.6K10发布于 2018-09-12
  • 来自专栏向治洪

    iOS 本地轻量级数据存储之NSUserDefaults

    Android里面的叫SharedPreferences,ios的叫NSUserDefaults,使用上也是非常的简单。我们先看一看NSUserDefaults的API。 NSUserDefaults实例 下面我们以一个第一次登录记住密码的功能来讲讲NSUserDefaults。 [[NSUserDefaults standardUserDefaults] setObject:userName forKey:@"name"]; [[NSUserDefaults standardUserDefaults =[[NSUserDefaults standardUserDefaults] integerForKey:@"password"]; NSDictionary *userInfo=[[NSUserDefaults //移除某一键值对 [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"name"]; //或者设置为空 [[NSUserDefaults

    1.7K80发布于 2018-02-06
  • 来自专栏DannyHoo的专栏

    iOS开发中删除NSUserDefaults中所有记录

    https://blog.csdn.net/u010105969/article/details/80256929 在开发中通常会使用NSUserDefaults对一些轻量级的数据进行持久性存储 ,在退出的时候通常会将NSUserDefaults中存储的所有数据删除。 实际上是可以一步将NSUserDefaults中存储的数据全部删除的。 代码: ? 删除代码 可复制代码: // 删除NSUserDefaults所有记录 NSString *appDomain = [[NSBundle mainBundle] bundleIdentifier]; NSUserDefaults * defautls = [NSUserDefaults standardUserDefaults]; [defautls removePersistentDomainForName

    1.5K30发布于 2018-09-13
  • 来自专栏我是做APP开发的

    Keychain-像NSUserDefaults一样使用

    就想简单的使用Keychain,不需要Keychain Access Group ,也不需要其他复杂的应用, 就想简单的保存个用户名和密码之类的, 就想像用NSUserDefaults 那样来存储数据

    58010发布于 2020-04-08
  • 来自专栏iOS逆向与安全

    iOS存储自定义类型到NSUserDefaults数据库

    沙盒的根目录下有三个常用的文件夹: 1.2 Library文件夹 1.3 tmp文件夹 1.4 standardUserDefaults 的使用 2.1 把字典对象 持久化保存到文件中 2.2 存储自定义类型对象到NSUserDefaults standardUserDefaults 的使用 偏好设置的工具方法 ---- + (void)setObject:(id)value forKey:(NSString *)key{ [[NSUserDefaults standardUserDefaults] setObject:value forKey:key]; [[NSUserDefaults standardUserDefaults] synchronize ]; } + (id)objectForKey:(NSString *)key{ return [[NSUserDefaults standardUserDefaults] objectForKey :(BOOL)bShowIntroduce { // [SessionMgr Instance].strOrderAmount = bShowIntroduce; [[NSUserDefaults

    1.3K10发布于 2021-07-05
  • 来自专栏一“技”之长

    iOS通过NSUserDefaults实现简单的应用间数据传递

    iOS中NSUserDefaults详解 NSUserDefaults是用于保存应用程序设置,应用信息等轻量级数据的的一个类,其本质是将数据写为plist文件的形式保存在本地。 在IOS中,系统为每一个应用程序都默认创建了一个NSUserDefaults对象。 一、常用方法总结 + (NSUserDefaults *)standardUserDefaults; 获取系统默认创建的应用程序设置表 + (void)resetStandardUserDefaults NSUserDefaults的三个特殊的系统域如下: NSString * const NSGlobalDomain; 这个是一个系统级别的全局的域,存储这系统配置信息,我们可以通过它实现应用程序间传值  standardUserDefaults]setPersistentDomain:temDic forName:NSGlobalDomain];     //同步     [NSUserDefaults

    1.3K20发布于 2018-08-15
  • 来自专栏娱乐心理测试

    NSUserDefaults数据保存报错:Attempt to set a non-property-list object.

    在使用NSUserDefaults的时候插入数据有时候会报以下错误: ? 1.这种错误的原因是插入了不识别的PaymentModel数据类型,NSUserDefaults支持的数据类型有NSString、 NSNumber、NSDate、 NSArray、NSDictionary self.picture = [aDecoder decodeObjectForKey:@"picture"]; } return self; } @end 2.有时NSUserDefaults 报存数组,字典,还是报错,原因是我里边的数据结构有"<null>",而NSUserDefaults是不能被成功解析并存入的,所有在存入之前需要将里边的"<null>"改成""即可。

    1.3K30发布于 2018-08-02
  • 来自专栏向治洪

    iOS 轻量级存储

    Android里面的叫SharedPreferences,ios的叫NSUserDefaults,使用上也是非常的简单。我们先看一看NSUserDefaults的API。 NSUserDefaults实例 下面我们以一个第一次登录记住密码的功能来讲讲NSUserDefaults。 [[NSUserDefaults standardUserDefaults] setObject:userName forKey:@"name"]; [[NSUserDefaults standardUserDefaults =[[NSUserDefaults standardUserDefaults] integerForKey:@"password"]; NSDictionary *userInfo=[[NSUserDefaults //移除某一键值对 [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"name"]; //或者设置为空 [[NSUserDefaults

    1.4K80发布于 2018-01-26
  • 来自专栏酷酷的哀殿

    从底层分析一下存在跨进程通信问题的 NSUserDefaults 还能用吗?

    随之而来的问题就是:NSUserDefaults 还能用吗? 经过对底层分析后,笔者的研究结论是:可以在理解 NSUserDefaults 的特性后再使用。 一、NSUserDefaults 是什么? NSUserDefaults 是 iOS 开发者常用的持久化工具,通常用于存储少量的数据 示例: NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults 根据本文后续的测试,我们可以发现 NSUserDefaults 共计以下 3 个特性: 多线程安全 内存级别缓存 写操作会触发 xpc 通信 三、NSUserDefaults 是如何保证多线程安全的? image 四、NSUserDefaults 的性能怎么样?

    2.9K32发布于 2021-03-18
  • 来自专栏网罗开发

    iOS APP开发全局token的使用

    在APP开发过程中少不了全局token的使用,今天主要和大家分享一下NSUserDefaults的使用。 NSUserDefaults是一个单例,在整个程序中只有一个实例对象,他可以用于数据的永久保存,而且简单实用,这是它可以让数据自由传递的一个前提,也是大家喜欢用它保存简单数据的一个主要原因。 使用 NSUserDefaults 存储自定义对象的最初,我们必须认识NSUserDefaults可以存储哪一些类型的数据,下面一一列出: NSUserDefaults支持的数据类型有:NSNumber NSUserDefaults *tokenid = [NSUserDefaults standardUserDefaults]; [tokenid setObject:token forKey:@" tokenid"]; [tokenid synchronize]; 将数据取出也很简单,只需要取出key 对应的值就好了,代码如下: NSUserDefaults *tokenid = [NSUserDefaults

    52910发布于 2021-01-29
  • 来自专栏Guangdong Qi

    iOS 每天某些时间点做某些事情

    [[[NSUserDefaults standardUserDefaults] objectForKey:@"KamYES"] isEqualToString:[NSString stringWithFormat :@"%@Kam",[GDDateUtil stringFromDateSetDateFormat:@"yyMMdd"]]]) { //在NSUserDefaults 取值KamYES 判断今天上午是否启动过 [[NSUserDefaults standardUserDefaults] setObject:[NSString stringWithFormat [[[NSUserDefaults standardUserDefaults] objectForKey:@"KpmYES"] isEqualToString:[NSString stringWithFormat :@"%@Kpm",[GDDateUtil stringFromDateSetDateFormat:@"yyMMdd"]]]) { //在NSUserDefaults 取值KpmYES

    1K60发布于 2018-05-24
  • 来自专栏代码小技巧分享分析

    iOS判读app是否第一次起动

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; BOOL _isFirst = [defaults boolForKey _isFirst) { //默认开启视野搜索 [[NSUserDefaults standardUserDefaults]setBool:YES forKey:@"isFirstIn "]; [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"isGetOfflineCityFromNet"]; [[NSUserDefaults standardUserDefaults]synchronize]; [self sclview]; }else { }

    29600发布于 2021-10-31
  • 来自专栏全栈程序员必看

    UIScrollView 和 UIPageControl 实现启动滑动图[通俗易懂]

    一、使用NSUserDefaults 判断滑动图有没有出现过,加载滑动图 NSUserDefaults 简介: NSUserDefaults可以将数据永久的保存在手机中,他是一个单例,用起来很方便 更多的关于NSUserDefaults的介绍请看:NSUserDefaults 简介 你可以选择在AppDelegate.m中的didFinishLaunchingWithOptions 方法或者“初始界面 ”(加载的第一个viewController)的 viewDidLoad 方法中进行判断滑动图是否出现过,写上代码: NSUserDefaults *userDefaults = [NSUserDefaults scrollView removeFromSuperview]; [page removeFromSuperview]; }]; //将滑动图启动过的信息保存到 NSUserDefaults 中,使得第二次不运行滑动图 NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; [userDefaults

    1.1K10编辑于 2022-07-20
  • 来自专栏编程语言

    iOS:宏定义(项目初期配置)(一)

    /****************************************************************************** * 永久存储对象 * * NSUserDefaults * @param key 所需对象对应的key * @return key 所对应的对象 */ #define W_PERSISTENT_GET_OBJECT(key) [[NSUserDefaults standardUserDefaults] objectForKey:key] /** * 清除 NSUserDefaults 保存的所有数据 */ #define W_PERSISTENT_REMOVE_ALLDATA [[NSUserDefaults standardUserDefaults] removePersistentDomainForName:[[NSBundle mainBundle] bundleIdentifier \ ({ \ NSUserDefaults *defaults

    1.2K20发布于 2018-12-13
  • 来自专栏大话swift

    蹭个热门:Flutter Plugin数据传递通信实例梳理

    "]) { NSString *key = arguments[@"key"]; NSNumber *value = arguments[@"value"]; [[NSUserDefaults [[NSUserDefaults standardUserDefaults] setValue:value forKey:key]; result(@YES); } else if "]) { NSString *key = arguments[@"key"]; NSNumber *value = arguments[@"value"]; [[NSUserDefaults result(@YES); } else if ([method isEqualToString:@"remove"]) { [[NSUserDefaults standardUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; for (NSString *key in getAllPrefs()) {

    1.1K30发布于 2019-07-04
  • 来自专栏iOS逆向与安全

    iOS常用的数据存储方式

    1.1 目录结构分析 1.2 应用沙盒目录的获取方式 1.3 偏好设置(standardUserDefaults 的使用) 1.4 存储自定义类型对象到NSUserDefaults 2.1 什么是Keychain 类存取该目录下的设置信息 1.3 偏好设置(standardUserDefaults 的使用) 针对应用的字体大小、是否保存用户名等偏好设置,IOS的每个应用都有个NSUserDefaults实例,通过它来存取偏好设置 NSUserDefaults设置数据的时候,不是立即写入,而是根据时间戳定时地把缓存中的数据写入本地磁盘。所以调用了set方法之后数据有可能还没有写入磁盘应用程序就终止了。 standardUserDefaults] setObject:value forKey:key]; [[NSUserDefaults standardUserDefaults] synchronize ]; } + (id)objectForKey:(NSString *)key{ return [[NSUserDefaults standardUserDefaults] objectForKey

    2.5K20发布于 2021-07-05
  • 来自专栏阿林前端开发攻城狮

    iOS微信第三方登录实现

    */ - (IBAction)wechatLoginClick:(id)sender { NSString *accessToken = [[NSUserDefaults standardUserDefaults ] objectForKey:WX_ACCESS_TOKEN]; NSString *openID = [[NSUserDefaults standardUserDefaults] objectForKey standardUserDefaults] setObject:reAccessToken forKey:WX_ACCESS_TOKEN]; [[NSUserDefaults forKey:WX_ACCESS_TOKEN]; [[NSUserDefaults standardUserDefaults] setObject:openID forKey ]; [[NSUserDefaults standardUserDefaults] synchronize]; // 命令直接同步到文件里,来避免数据的丢失

    3.8K40发布于 2021-10-29
  • 来自专栏全栈程序员必看

    保存和检索字符串

    在.m文件里加上实现方法 ps:写在单例中更好 + (void) saveCenterProValue:(NSString*)valueStr key:(NSString *)keyStr{ NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; [defaults setObject:valueStr forKey:keyStr]; [defaults synchronize]; } + (id)getCenterPro:(NSString*)identifier{ NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; return [defaults objectForKey:identifier]; } 好了,这样就完毕了 接下来

    48510编辑于 2022-07-06
领券