NSUserDefaults适合存储轻量级的本地数据,比如要保存一个登陆界面的数据,用户名、密码之类的,个人觉得使用NSUserDefaults是首选。下次再登陆的时候就可以直接从NSUserDefaults里面读取上次登陆的信息咯。因为如果使用自己建立的plist文件什么的,还得自己显示创建文件,读取文件,很麻烦,而是用NSUserDefaults则不用管这些东西,就像读字符串一样,直接读取就可以了。NSUserDefaults支持的数据格式有:NSNumber(Integer、Floa...
在coredata 数据库结构被更改后,没根据要求立即建立新version,而是在原version上进行了小修改,之后才想起来建立新版本。并通过以下代码合并数据库, NSError *error = nil;NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,[NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption,NSFileProtectionComplete...
对于数据持久化的问题,博主并不准备在博文内放很多的代码进行更深一步解释,只是简单的介绍一下四种数据持久化,如有时间,会另外针对各个数据持久化的方法进行更进一步的阐述。直接进入主题:〈1、NSUserDefault用来存储配置信息,开发者可以通过这个实例对象,对这些已有信息进行修改,也可以根据自己的需求创建新的配置项。这是一个系统的单例,是一个轻量级存储机制,一般用来存储用户的登录状态,一般不会用来存储复杂对象。...
我们发送请求后,一般会获得data数据,这个时候我们反序列化即可。常用的数据格式之一是JSON,格式如:{key:value,key:value,key:value....}(1)因为iOS5之前苹果不支持JSON解析,所以催生很多第三方解析,SBJson以及JSONKit。简单地JSON反序列化示例如下: NSURL *url=[NSURL URLWithString:@"http://www.baidu.com"];NSURLRequest *request=[NSURLRequest requestWithURL:url];[NSURLConnection sendAsynchronousRequest:req...
一、block与方法的异同点:相同点是都是保存代码段,什么时候执行,什么时候调用不同点是block不受类或者对象的约束;方法收到了类或者对象的约束二、思路:(通讯录练习) 在联系人控制器中,添加完联系人或者修改完后保存联系人的时候需要刷新联系人控制器的tableView 但是,联系人控制器中不能确定刷新tableView的时机 解决办法:在联系人控制器中定义好对应控制器的block代码段,block执行的时机由block的拥有者来指定...
1#import <Foundation/Foundation.h>2 3@interface NJContatc : NSObject <NSCoding>4 5 @property (nonatomic, copy) NSString *name;6 @property (nonatomic, copy) NSString *phoneNumber;7 @property (nonatomic, copy) NSString *email;8@end 91011#import"NJContatc.h"1213@implementation NJContatc
1415 - (void)encodeWithCoder:(NSCoder *)aCoder
16{
17 [aCoder encodeObject:self.name forKey:@"name"];
18 [a...
1// 2// ViewController.m3// IOS_0129_HTTP请求4// 5// Created by ma c on 16/1/29.6// Copyright ? 2016年 博文科技. All rights reserved.7//8 9#import"ViewController.h" 10#import"MBProgressHUD+MJ.h" 11#import"NSString+Hash.h" 12 13@interface ViewController ()14 @property (weak, nonatomic) IBOutlet UITextField *textName;15 @property (weak, nonatomic) IBOutlet UITextField *textPassword;16 17 - (I...
解析的基本概念所谓“解析”:从事先规定好的格式串中提取数据解析的前提:提前约定好格式、数据提供方按照格式提供数据、数据获取方按照格式获取数据iOS开发常见的解析:XML解析、JSON解析 一、XML数据结构XML数据结构基本概念XML:Extensible Markup language (可扩展标记语言),主流格式之一,可以用来存储和传输数据格式之一,可以用来存储和传输数据 XML数据格式的功能1、数据交换2、内容管理3、用作配置文件 XML数据结构的语...
iOS开发UI篇—ios应用数据存储方式(归档) 一、简单说明在使用plist进行数据存储和读取,只适用于系统自带的一些常用类型才能用,且必须先获取路径相对麻烦;偏好设置(将所有的东西都保存在同一个文件夹下面,且主要用于存储应用的设置信息)归档:因为前两者都有一个致命的缺陷,只能存储常用的类型。归档可以实现把自定义的对象存放在文件中。二、代码示例1.文件结构 2.代码示例 YYViewController.m文件 1// 2// YYViewControll...
1.使用命令:chflags nohidden ~/library/ 使隐藏的资源库文件夹显示出来。如果想要隐藏掉,使用:chflags hidden ~/library/ 2.finder中找到:用户->mwsn(这是我的用户名)->资源库->Application Support->iPhone Simulator->7.0(根据你的版本确定是哪个)->Applications里面有一堆目录,挨个查看,找到你需要的工程的目录->Documents文件夹,你创建的文件就在里面,例如sqlite数据库文件.原文:http://blog.csdn.net/xyw_eliot...
网络上传输数据通用的有XML,JSON等,iOS中也可以用Plist。要进行数据传输,就要首先进行序列化:1.序列化. 对象转换成二进制流.(这个一句话就行)2.反序列化.二进制流转换为对象等. (关键要弄清楚这个)JSON:(和XML一样都是用来传数据的)轻量级的数据交换格式,正在逐步取代XML.XML:结构性的标记语言,易读.但数据量大.Plist偶尔用着玩玩:Mac、iOS中用的多一种格式。一、应用场景1、XML的应用场景:XMPP——即时通讯,KissXMLRSS目前还...
前言:苹果在IOS 6系统之后开始支持BLE 4.0,iPhone4s,iPod 5,iPad 3等之后的机型开始内嵌BLE4.0硬件,因此在开发前请先确认你的开发环境符合上述要求,并且苹果在BLE4.0之后,对外部的连接设备已经不在需要MFI认证了,当然你的外设肯定得要有蓝牙4.0模块了综述:开发BLE4.0的App,你需要在你的项目里面导入框架:CoreBluetooth.framework 在需要使用到蓝牙的文件里面你需要导入头文件:#import <CoreBluetooth/CoreBluetooth.h>#i...
关于sqlite是一个轻量的、跨平台的、开源的数据库引擎。他在读写效率,操作便捷程度,内存消耗上具有很大的优越性,所以很受移动开发者的喜爱。当然,sqlite 也因其力求简单高效,也就限制了它对并发,海量数据的处理。这篇博客主要讲的是iOS开发中sqlite和开源库FMDB的使用。 demo 地址 TP 常使用的方法介绍 首先打开数据库int result = sqlite3_open_v2(fileName.UTF8String, &db, SQLITE_IOERR_READ|SQLITE_IOERR_WRIT...
FMDB有三个主要的类 1. FMDatabase 一个FMDatabase对象就代表一个单独的SQLLite数据库 用来执行SQL语句 2.FMResultSet 使用FMDatabase执行查询后的结果集合 3.FMDatabaseQueue 用于在多线程中执行多个查询或更新,它是线程安全的 文件路径有三种情况 1.具体文件路径 如果不存在会自动创建 2.空字符串@"" 会在临时目录创建一个空的数据库 当FMDatabase连接关闭时,数据库文件也被删除 3.nil 会创建一个内存中临时数据库...
在当今智能手机的天下,我们很多数据都是保存在手机上,如备忘录,通讯录等,镔哥,告诉你,在各种文件格式在搜索与保存的速度都比不上数据库快,毕竟数据库在保存的时候经过特殊格式安排的。而不论是ios或者是android,其内部都是采用SQLite这个嵌入式数据库作为解决方案。因为比起其他商业数据库,它可就明显小得多。SQLite属于轻量级别的数据库,它不需要任何设置,更不需要架设任何服务器。这样使得它特别适合用于内存寸土寸金...