
iphone开发之数据部分
文章平均质量分 75
more2010wei
2010年6月毕于厦门大学软件工程专业,从事移动互联Symbian开发一年多,转为ios开发,对C,C++和Object-C等语言有心得,热衷于技术,喜欢研究算法,具有开源精神!Knuth是我心中永远的神话!
展开
-
NSString+NSMutableString+NSValue+NSAraay用法汇总
/******************************************************************************************* NSString **********************************************************************************转载 2012-03-28 17:14:45 · 871 阅读 · 0 评论 -
关于图片拉伸的几种方法总结
系统至ios6之后,关于图片拉伸的方法已经扩展至3个函数:1.ios4提供的方法:- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight这个函数是UIImage的一个实例函数,它的功能是创建一个内容可拉伸,而边角不拉伸的图原创 2012-12-05 14:09:03 · 7636 阅读 · 0 评论 -
iOS开发——图片转PDF的实现方法
图片转PDF的实现方法Quartz 2D概述Quartz 2D是Core Grapgics下的2D绘图引擎,适用于iOS和Mac OS X。 它具有强大的绘图功能,提供视角效果渲染,反锯齿渲染,颜色管理,绘制PDF等等。开发者无需考虑不同设备不同分别率的显示效果,因为这一切适配操作Quartz 全都自己包了。具体Quartz可以做些什么,下图给出了最佳答案:图片转PDF转载 2013-02-05 11:21:31 · 3369 阅读 · 1 评论 -
iOS系统网络抓包方法
在进行iOS开发过程中,经常会遇到各种各样的网络访问问题,以前苦于没有抓包工具,很多网络问题解决起来很痛苦。现在终于好了,本文提供两种方式进行网络抓包: 1. 网络共享 + 可视化抓包工具基本原理原理比较简单,ios设备通过代理方式共享连接mac电脑的无线网卡,使用抓包工具抓包,然后进行分析(我们推荐使用Wireshark,在MAC系统上也可以使用Paros工具)。现在以M转载 2013-02-28 10:38:25 · 4486 阅读 · 0 评论 -
iPhone程序开发 KVO/KVC实现机理分析
iPhone程序开发KVO/KVC实现机理分析是本文要介绍的内容,不多说,直接进入话题。我们来看详细内容。Objective-C里面的Key-Value Observing (KVO)机制,非常不错,可以很好的减少浇水代码。关于KVO的学习,可以参考文章:《Key-Value Observing快速入门》:http://www.cocoadev.cn/Objective-C/Key-Value转载 2013-01-29 17:44:59 · 2476 阅读 · 0 评论 -
NSKeyedArchiver的基础用法
代码如下:[cpp] view plaincopyNSString *str = @"abc"; NSString *astr = @"efg"; NSArray *Array = [NSArray arrayWithObjects:str, astr, nil]; //保存数据 NSString *Path = [NSSearchPathFo原创 2013-04-11 23:04:13 · 1911 阅读 · 0 评论 -
UIImage的几种应用
1、用imageNamed函数[UIImage imageNamed:ImageName];用imageNamed的方式加载时,系统会把图像Cache到内存。如果图像比较大,或者图像比较多,用这种方式会消耗很大的内存,而且释放图像的内存是一件相对来说比较麻烦的事情。例如:如果利用imageNamed的方式加载图像到一个动态数组NSMutableArray,然后将将数组赋予一个UIView的转载 2012-04-17 11:38:00 · 1661 阅读 · 0 评论 -
NSDate的基本知识
1. 创建或初始化可用以下方法 用于创建NSDate实例的类方法有 + (id)date; 返回当前时间 + (id)dateWithTimeIntervalSinceNow:(NSTimeInterval)secs; 返回以当前时间为基准,然后过了secs秒的时间 + (id)dateWithTimeIntervalS原创 2013-07-29 18:02:14 · 1304 阅读 · 0 评论 -
CoreData中存任意类型的数据
在coredata中,entity中attribute的类型只有固定的几种可选。如下图:有没有方法扩展类型呢?方法当然是有的。原理是把要存类型转化为二进制的方式存在数据库中。 比如我们要想直接存放UIImage到数据库,如何做?首先,在coredata中新建的attribute中类形选择Transformable. 意思表示这个字段是自定义的类型。然后在生成的NSMana转载 2013-01-28 15:56:15 · 11913 阅读 · 0 评论 -
Core Data入门基本知识(2)
一、概念1.Core Data 是数据持久化存储的最佳方式2.数据最终的存储类型可以是:SQLite数据库,XML,二进制,内存里,或自定义数据类型在Mac OS X 10.5Leopard及以后的版本中,开发者也可以通过继承NSPersistentStore类以创建自定义的存储格式3.好处:能够合理管理内存,避免使用sql的麻烦,高效4.构成:(1)NSManagedOb原创 2013-11-14 19:20:12 · 2030 阅读 · 0 评论 -
coreData入门基本知识(1)
目录(?)[-]简介模型文件了解NSManagedObjectCoreData中的核心对象代码实现打开CoreData的SQL语句输出开关创建NSManagedObject的子类转载自:http://blog.youkuaiyun.com/q199109106q/article/details/8563438简介 Core Data是i原创 2013-11-14 19:05:39 · 4111 阅读 · 3 评论 -
CoreData之FetchRequestController
我目前的理解,CoreData相当于一个综合的数据存储和管理中心,它支持sqlite,二进制存储文件两种形式的数据存储。而CoreData提供了存储管理,包括查询、插入、删除、更新、回滚、会话管理、锁管理等一系列数据库操作。另外,开发者还可以在xcode中使用 .xcdatamodel 扩展名的文件,以图形化的形式编辑数据模型,这里包括了Entities、Properties、Attrib转载 2013-11-14 19:56:38 · 8175 阅读 · 0 评论 -
NSSet类型 以及与NSArray区别
NSSet到底什么类型,其实它和NSArray功能性质一样,用于存储对象,属于集合; NSSet , NSMutableSet类声明编程接口对象,无序的集合,在内存中存储方式是不连续的,不像NSArray,NSDictionary(都是有序的集合)类声明编程接口对象是有序集合,在内存中存储位置是连续的; NSSet和我们常用NSArry区别是:在搜索一个一个元素时NSS转载 2013-12-05 22:52:30 · 1700 阅读 · 0 评论 -
Objective-C语法之NSSet和NSMutableSet
NSSet和NSMutableSet是无序的, 但是它保证数据的唯一性。当插入相同的数据时,不会有任何效果。从内部实现来说是hash表,所以可以常数时间内查找一个数据。1、NSSet的使用[NSSet setWithSet:(NSSet *)set]; 用另外一个set对象构造[NSSet setWithArray:(NSArray *)array];用数组构造[NSSet s转载 2013-12-05 22:55:06 · 11259 阅读 · 0 评论 -
处理tableview的一些简单的局部刷新逻辑
tableview的局部刷新逻辑,通常是为了实现某一些或者一组效果,依赖于三个函数,reload,delete,insert。tableview的很多很炫的动画效果都是以此来实现,但是这几个函数,对cell高度可变的table的局部刷新作用,个人觉得是影响体验的,每一个cell第一次配置好之后,第二次再reload一遍,也是一个窝火的事情。但是,but,哈哈,你懂的,如果你想对特定的cell做一些转载 2013-12-04 17:50:58 · 13538 阅读 · 0 评论 -
NSAssert,NSCassert
在苹果的SDK中可以看到这两个都是定义的宏NSAssert 的定义如下:#define NSAssert(condition, desc, ...) \do { \__PRAGM原创 2014-07-03 10:58:06 · 4787 阅读 · 0 评论 -
Objective-C 中Self 和 Super 详解
Objective-C 中Self 和 Super 详解本文要介绍的内容,在 Objective-C 中的类实现中经常看到这两个关键字 self 和 super,以以前 oop 语言的经验,拿 c++ 为例,self 相当于 this,super 相当于调用父类的方法,这么看起来是很容易理解的。以下面的在 Objective-C 中的类实现中经常看到这两个关键字 ”self” 和 ”s转载 2015-03-05 17:43:17 · 3355 阅读 · 3 评论 -
Facebook经验:如何保证不同网络环境下的应用体验
在刚刚结束的@Scale 2014大会上,Facebook分享了关于移动应用适配方面的演讲,High Scalability在相关演讲的基础上进行了整理。如何保证移动应用在不同的网络环境、不同的屏幕上都有良好的用户体验一直是个难题,而Facebook有遍及全球的用户,他们一直致力于提高用户体验,在大会上,Facebook重点从团队、技术方面分享了他们的经验。一开始,Facebook的应转载 2015-03-05 17:49:36 · 1742 阅读 · 0 评论 -
math.h里的数学计算公式
math.h里的数学计算公式介绍 1、 三角函数 double sin (double);正弦 double cos (double);余弦 double tan (double);正切 2 、反三角函数 double asin (double); 结果介于[-PI/2, PI/2] double acos (double); 结果介转载 2012-12-25 15:55:14 · 1710 阅读 · 1 评论 -
Cocoa中NSString到NSDate的处理
NSDate是NS类库中基础类型之一。随着数字化发展,程序对数据处理量越来越大,我们经常从服务器取得的日期是字符串序列,格式化为正确的date类型是一个不可避免的工作。在Cocoa程序里提供了非常方便的函数和类,但是仍然需要我们了解一些技巧。尤其是当我们的程序面对大量的日期字符串转换的时候,要格外的注意。苹果文档中使用NSDateFormatter类格式化日期字符串,但是以防读者不知道,我这里提一转载 2012-12-25 15:54:30 · 1172 阅读 · 0 评论 -
NSDictionary / NSMutableDictionary 及 NSArray / NSmutableArray (实例)
NSDictionary 和 NSArray一样是不可变的对象。用来实现字典集合,在给定关键字(通常是一个NSString字符串)下存储一个数值(可以是任何类型的对象)。 NSDictionary使用类方法 dictionaryWithObjectAndKeys: 来创建字典;使用方法objectForKey: 来获取字典中的值。C代码 NSDictionary转载 2012-03-31 17:36:08 · 2958 阅读 · 0 评论 -
iPhone图像存储的几种类型以及对应的读取方法
iPhone图像通常存储在以下4个地方:相册(PhotoAlums):用户可以使用UIImagePickerController类提供的交互对话框从该相册中获取图像。应用程序包:将图像与可执行程序、Info.plist文件和其他资源一同存储,用户可以通过本地文件路径由imageNamed:方法来读取这些基于包的图像。沙盒:借助沙盒,可以将文件存储到Documents、Library和tmp原创 2012-05-09 14:51:11 · 6400 阅读 · 2 评论 -
NSDate时间数据类型的应用与属性
NSDate类用于保存时间值,同时提供了一些方法来处理一些基于秒级别时差(Time Interval)运算和日期之间的早晚比较等。 1. 创建或初始化可用以下方法用于创建NSDate实例的类方法有+ (id)date;//返回当前时间+ (id)dateWithTimeIntervalSinceNow:(NSTimeInterval)secs; //返回以当前时间原创 2012-05-09 14:26:56 · 2893 阅读 · 0 评论 -
通过NSTimer看IPhone对@selector的函数如何传参数
NSMutableDictionary *dict = [[NSMutableDictionary alloc] init]; if(oldView != nil) { [dict setObject:oldView forKey:@"oldView"]; } if(newView != nil) {原创 2012-05-09 14:46:57 · 14693 阅读 · 0 评论 -
NSUserDefaults的应用和特点
NSUserDefaults实现小型数据的快速存取:特点: NSUserDefaults用于保存iPhone程序的数据,程序退出后数据并不会被清除;存取数据单一,小;代码简洁。一、NSUserDefaults数据存储的位置 那么这些数据最终存放在什么地方呢?存放于一个plist文件中。 这个文件位于LibraryPrefer原创 2012-05-09 14:02:30 · 2893 阅读 · 0 评论 -
iPhone-获取网络数据或者路径的文件名以及后缀
// 从路径中获得完整的文件名(带后缀) exestr = [filePath lastPathComponent]; NSLog(@"%@",exestr);// 获得文件名(不带后缀)exestr = [exestr stringByDeletingPathExtension]; NSLog(@"%@",exestr);// 获得文件的后缀名(不带'.'转载 2012-05-10 16:32:56 · 12129 阅读 · 0 评论 -
Cocoa过滤器NSPredicate的完全用法
从下面的各个例子中,可以体会到NSPredicate的强大的能力,作为正则表达式的核心类,确实优化了很多的字符串及其正则相关的操作的流程。使代码简洁,而强大!Cocoa用NSPredicate描述查询的方式,原理类似于在数据库中进行查询计算谓词://基本的查询NSPredicate *predicate;predicate = [NSPredicate predicateWit原创 2012-05-15 20:05:59 · 25239 阅读 · 1 评论 -
NSData 与 NSString,Byte数组,UIImage 的相互转换
1. NSData 与 NSStringNSData-> NSStringNSString *aString = [[NSString alloc] initWithData:adataencoding:NSUTF8StringEncoding]; NSString->NSDataNSString *aString = @"1234abcd";NSData *aData =原创 2012-05-19 10:52:28 · 6512 阅读 · 0 评论 -
iPhone数据库结构
/** iphone database structure* @author zye* @contact zye@tudou.com* @update 20070924* @version 0.1* @url http://yegq.yeax.com/?p=162* @copyleft 此文档可随意分发。如果你发布的iphone应用得益于此文档,建议注明,或给我emai原创 2012-05-26 10:14:33 · 2589 阅读 · 0 评论 -
iphone App的国际化
iphone的app的国际化可以通过创建不同语言版本的Localizable.strings文件来完成。通过以下函数来读取Localizable.strings文件时,会自动选择与手机系统语言相匹配的Localizable语言版本。这样就实现了系统语言与软件语言匹配的国际化功能。这就是使用Localizable实现程序国际化的基本思想。#define NSLocalizedStri原创 2012-07-16 21:37:48 · 4747 阅读 · 0 评论 -
iphone获取当前系统的语言
iphone的设置里的数据几乎都是保存在NSUserDefaults里的,试想一下iphone常用的四种数据存储的方式,NSUserDefaults也确实是一个理想的保存设置文件的方法。与其他方式相比,简单易用,而且满足需求。首先我们来看一下语言的设置页面:你有没有留意一个现象呢,就是你选定的语言总是出现在第一列。这个是一个有趣的现象,你想一想,什么样的数据结构比较符合存储这个原创 2012-08-06 12:12:32 · 2805 阅读 · 1 评论 -
清除cookies,消除绑定时被保存的账号和密码
关于cookies,虽然可能大家都不陌生,让我们一起来看一下它的定义:Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。Cookie通常是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Coo原创 2012-08-07 17:57:17 · 5099 阅读 · 0 评论 -
目录路径
//==============================================================================// 资源目录NSString *defaultDBPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:filename];转载 2012-08-10 18:20:20 · 1084 阅读 · 0 评论 -
Using Blocks in iOS 4: The Basics
iOS 4 introduces one new feature that will fundamentally change the way you program ingeneral: blocks. Blocks are an extension to the C language and thus fully supported inObjective-C. If you're comin原创 2012-08-14 14:28:31 · 1119 阅读 · 0 评论 -
NSScanner类的基本用法
NSScanner是一个类,用于在字符串中扫描指定的字符,尤其是把它们翻译/转换为数字和别的字符串。可以在创建NSScaner时指定它的string属性,然后scanner会按照你的要求从头到尾地扫描这个字符串的每个字符。 创建一个Scanner NSScanner是一个类族, NSScanner是其中公开的一类。通常,可以用scannerWithString:或localizedScan原创 2012-09-13 14:23:54 · 43827 阅读 · 4 评论 -
NSString / NSMutableString 字符串处理,常用代码 (实例)
Objective-C 中核心处理字符串的类是 NSString 与 NSMutableString ,这两个类最大的区别就是NSString 创建赋值以后该字符串的内容与长度不能在动态的更改,除非重新给这个字符串赋值。而NSMutableString 创建赋值以后可以动态在该字符串上更改内容与长度。 NSString 常用方法总结+(id)stringWithContents转载 2012-04-01 09:15:22 · 32438 阅读 · 2 评论 -
iphone开发常用的持久化存储数据的策略
我正也想写一篇关于iphone数据存储的文章。关于存储,分为持久性的数据存储和运行时的数据存储,前者在app关闭之后数据仍然存在,而后者是在程序运行时才存在。再具体一点,则前者关闭之后仍然数据存在说明数据以特定的形式存储在设备上。 后者在运行时存在,说明是在内存中,全局或者局部的变量,在app关闭之后内存回收,数据也就销毁了。所以,可以看出,一个持久性的数据存储就必须的要以某种形式写在设备上,ip原创 2012-08-13 16:51:26 · 1979 阅读 · 0 评论 -
Objective-C如何自己实现一个基于数组下标的属性访问模式
在iOS6.0以及OS X10.8之后,Apple引入了一套非正式协议(informal protocol)与Objective-C语法直接绑定。当你实现了这其中的方法之后即可使用数组下标来访问属性元素。在Foundation库中,NSArray类实现了- (id)objectAtIndexedSubscript:(NSUInteger)idx方法。因此,我们可以这么来访问数组元素:转载 2015-03-27 09:53:29 · 3353 阅读 · 0 评论