如何通过SEO优化提升网站在百度趋势搜索中的排名?
摘要:SEO如何建设网站,百度趋势搜索,展厅设计公司招聘,新建网站怎么做目录 1. 简介2. 基本使用2.1 步骤2.2 对应接口2.2 示例代码 3. 常用接口及属性3.1 存储3.2 获取 4. 注意点4.1 NSUserDefaults 存
SEO如何建设网站,百度趋势搜索,展厅设计公司招聘,新建网站怎么做目录 1. 简介2. 基本使用2.1 步骤2.2 对应接口2.2 示例代码 3. 常用接口及属性3.1 存储3.2 获取 4. 注意点4.1 NSUserDefaults 存储的对象全是不可变的4.2 将自定义类型数据读写 NSUserDefaults4.3 非即时写入 5.参考链接 1. 简介 NSUserDefaults是一个单例#xff0c;在整个程… 目录 1. 简介2. 基本使用2.1 步骤2.2 对应接口2.2 示例代码 3. 常用接口及属性3.1 存储3.2 获取 4. 注意点4.1 NSUserDefaults 存储的对象全是不可变的4.2 将自定义类型数据读写 NSUserDefaults4.3 非即时写入 5.参考链接 1. 简介 NSUserDefaults是一个单例在整个程序中只有一个实例对象他可以用于数据的永久保存而且简单实用这是它可以让数据自由传递的一个前提 可以保存的数据结构。在NSUserDefaults中可以保存的数据结构有
NSString 字符串NSNumber 数字NSArray 数组NSDictionary 字典NSDate 日期NSData 二进制数据如果需要保存自定义对象则需要将对象归档为NSData再进行保存。详情见section 4.2
2. 基本使用
2.1 步骤
获取NSUserDefaults实例获取数据/删除数据/存储数据通知写入
2.2 对应接口
NSUserDefaults* defaults [NSUserDefaults standardUserDefaults]; //获取NSUserDefaults实例。
[defaults setObject:object forKey:key]; //存储数据。
id object [defaults objectForKey:key]; //获取数据。用key获取保存的对象返回值为id类型所以可以接任何指针
[defaults removeObjectForKey:key]; //删除数据。使用key删除保存的值NSString *appdomainStr [[NSBundle mainBundle] bundleIdentifier];
[defaults removePersistentDomainForName:appdomainStr]; //一次性删除全部存储[defaults synchronize]; //通知立刻写入。保存完数据后如果马上抛出异常可能会丢失数据所以建议保存完后调用synchronize方法通知马上写入2.2 示例代码
NSUserDefaults* defaults [NSUserDefaults standardUserDefaults];
[defaults setObject:Wally forKey:NAME];
[defaults setObject:number forKey:NUMBER];
id name [defaults objectForKey:NAME];
id num [defaults objectForKey:NUMBER];
[defaults removeObjectForKey:ARRAY];
[defaults synchronize];3. 常用接口及属性
NSUserDefaults可以存储上面说到的6种类型苹果爸爸还给我们提供了直接转换出对应类型的方法避免每次都写强转代码。
3.1 存储
//存储Int值
[defaults setInteger:123 forKey:INT];//存储布尔值
[defaults setBool:YES forKey:BOOL];//存储浮点型
[defaults setFloat:3.14 forKey:FLOAT];//存储数组
NSArray* arr [NSArray arrayWithObjects:Wally, Barry, Rose, nil];
[defaults setObject:arr forKey:ARRAY];3.2 获取
//获取Int值
[defaults integerForKey:INT];//获取BOOL布尔值
[defaults boolForKey:BOOL];//获取浮点值
[defaults floatForKey:FLOAT];//获取数组
[defaults objectForKey:ARRAY];4. 注意点
4.1 NSUserDefaults 存储的对象全是不可变的
NSUserDefaults 存储的对象全是不可变的这一点非常关键弄错的话程序会出bug
NSMutableArray *mutableArray [NSMutableArray arrayWithObjects:123,234, nil];
NSArray * array [NSArray arrayWithArray:mutableArray];
NSUserDefaults *user [NSUserDefaults standardUserDefaults];
[user setObject:array forKey:记住存放的一定是不可变的];4.2 将自定义类型数据读写 NSUserDefaults
使用NSKeyedArchiver 对数据进行归档 反归档iOS的归档应该就类似于数据的序列化和反序列化机制
定义一个遵守NSCoding协议的类复写NSCoding协议中的initWithCoder方法和encodeWithCoder方法initWithCoder方法是为了解档用数据恢复对象encodeWithCoder方法是为了将对象归档归档序列化使用NSKeyedUnarchiver调用archivedDataWithRootObject方法归档对象即将自定义类型对象转换成NSDate类型解档反序列化使用NSKeyedUnarchiver调用unarchiveObjectWithData方法解档对象即将data类型转换对象成自定义类型
写入数据
NSData *data [NSKeyedArchiver archivedDataWithRootObject:student]; //归档
NSUserDefaults *user [NSUserDefaults standardUserDefaults];
[user setObject:data forKey:oneStudent];
NSUserDefaults *user [NSUserDefaults standardUserDefaults];读取数据
// 读取data数据
NSData *data [user objectForKey:oneStudent];// 将data类型转换成student类型
Student *student [NSKeyedUnarchiver unarchiveObjectWithData:data]; //解档4.3 非即时写入 UserDefaults是根据时间戳定时的把缓存中的数据写入本地磁盘而非即时写入。为了防止数据丢失我们在对重要的数据保存时使用synchornize方法强制写入。但是也要注意不用频繁的使用synchornize这样毕竟影响性能和效率 5.参考链接
iOS NSUserDefaults使用 https://www.jianshu.com/p/569be39260f2
