摘要: 1,truncate,delete区别truncate删除表比较快,但删除的数据不能恢复,只能删除表中的所有数据而delete删除比truncate慢,删除的数据可以恢复,后面可以跟where条件删除某些指定记录。前者不可rollback 后者可以rollback2,oracle 中decode函数 相当于if else 3,有表A, 中有字段id, name, memo现在有很多id重复的数据,怎么把这些重复的都查出来?group by? 请写出SQL语句select id, name, memofrom Awhere id in (select id from A group by... 阅读全文
posted @ 2014-03-01 19:48 wangzh@博客园 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 1,ios中代理的作用? 答案:就是委托他人帮自己去做什么事。也就是当自己做什么事情不方便的时候,就可以建立一个委托,这样就可以委托他人帮自己去实现什么方法。 其次,总结了一下自己用到的委托的作用有两个,一个是传值,一个是传事件。 1.所谓传值经常用在b类要把自己的一个数据或者对象传给a类,让... 阅读全文
posted @ 2014-02-28 21:00 wangzh@博客园 阅读(275) 评论(0) 推荐(0) 编辑
摘要: ios nil、NULL和NSNull 的使用iOSnilNULLNSNullnil用来给对象赋值(Objective-C中的任何对象都属于id类型),NULL则给任何指针赋值,NULL和nil不能互换,nil用于类指针赋值(在Objective-C中类是一个对象,是类的meta-class的实例), 而NSNull则用于集合操作,虽然它们表示的都是空值,但使用的场合完全不同。示例如下:idobject=nil;//判断对象不为空if(object){}//判断对象为空if(object==nil){}//数组初始化,空值结束NSArray*array=[[NSArrayalloc]initW 阅读全文
posted @ 2014-02-20 14:49 wangzh@博客园 阅读(215) 评论(0) 推荐(0) 编辑
摘要: KVO & KVC2013-01-13 10:33:17|分类:默认分类|标签:ios|举报|字号订阅之前偶然看见一大神解释的KVC和KVO,看完都不知到底在说神马,没图没码怎么可能出来真相呢?所以就抽空整理了一下KVC和KVO的一些基本概念,还添加了一些代码,分享给其他人,也给自己留个笔记以后复习。:)1、KVC (Key Value Coding),简单来讲,就是给属性设置值的;复杂来讲,根据网上的说法,KVC运用了一个isa-swizzling技术。isa-swizzling就是类型混合指针机制。KVC主要通过isa-swizzling,来实现其内部查找定位的。isa指针,如其名 阅读全文
posted @ 2014-01-21 16:37 wangzh@博客园 阅读(706) 评论(0) 推荐(0) 编辑
摘要: 作为一种轻量级的数据交换格式,json正在逐步取代xml,成为网络数据的通用格式。有的json代码格式比较混乱,可以使用此“http://www.bejson.com/”网站来进行JSON格式化校验(点击打开链接)。此网站不仅可以检测Json代码中的错误,而且可以以视图形式显示json中的数据内容,很是方便。从IOS5开始,APPLE提供了对json的原生支持(NSJSONSerialization),但是为了兼容以前的ios版本,可以使用第三方库来解析Json。本文将介绍TouchJson、 SBJson 、JSONKit 和 iOS5所支持的原生的json方法,解析国家气象局API,Tou 阅读全文
posted @ 2014-01-20 15:39 wangzh@博客园 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 一、什么是Blocks Block是一个C级别的语法以及运行时的一个特性,和标准C中的函数(函数指针)类似,但是其运行需要编译器和运行时支持,从ios4.0开始就很好的支持Block。二、在ios开发中,什么情况下使用Block Block除了能够定义参数列表、返回类型外,还能够获取被定义时的词法范围内的状态(比如局部变量),并且在一定条件下(比如使用__block变量)能够修改这些状态。此外,这些可修改的状态在相同词法范围内的多个block之间是共享的,即便出了该词法范围(比如栈展开,出了作用域),仍可以继续共享或者修改这些状态。通常来说,block都是一些简短代码片段的封装,适用作工作单元 阅读全文
posted @ 2014-01-13 15:23 wangzh@博客园 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 用法总结:NSArray,NSSet,NSDictionaryiphone_dev_note2011-05-07 14:31:08阅读67评论0字号:大中小订阅三种集合类来收集cocoa对象(NSObject对象):NSArray用于对象有序集合(相当于是数组)NSSet用于对象无序集合NSDictionary用于键值映射以上三种集合类是不可变的(一旦初始化后,就不能改变)以下是对应的三种可变集合类(这三种可变集合类是对应上面三种集合类的子类):NSMutableArrayNSMutableSetNSMutableDictionary注:这些集合类只能收集cocoa对象(NSOjbect对象) 阅读全文
posted @ 2014-01-09 15:23 wangzh@博客园 阅读(298) 评论(0) 推荐(0) 编辑
摘要: (官方SDK,对NSString属性的定义都是用copy,而不是retain)在明了的原因是,怕你赋值的是一个MutableString,而MutableString是可变了,如果只是retain,那么当你在外面改变了这个值的时候,你的属性的值也改变了代码:定义一个属性:@property (copy,nonatomic)NSString *myTest;@synthesize myTest; NSMutableString *temp = [[NSMutableStringalloc]initWithFormat:@"jjjjjj"]; self.myTest = tem 阅读全文
posted @ 2013-12-18 10:36 wangzh@博客园 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 步骤: 1.创建空项目 Empty Application。(在Xcode4.2以后下创建的这个空项目不再有MainWindow.xib文件了。) 2.Ctrl+N,创建User Interface下面的Window(选择“iOS->User Interface->Window),命名成MainWindow.xib(这名称可随意,只是以MainWindow我们更熟悉)。 3.File Owner修改成UIApplication。(即调出show identity inspector面板,将file's Owner的属性Custom Class中将class改为UIAppli 阅读全文
posted @ 2013-11-19 08:39 wangzh@博客园 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 1,oc类:返回值类型用()包住,也可不声明返回值,编译器会自动添加一个id类型的返回值。因此不推荐不写返回值,如果没有直接写(void)参数定义:方法名字后面继续加:符号,表示参数。同样是()包住类型后面写变量名称,如果有多个,则依次书写即可。-(返回值类型)方法名字:(变量类型)变量名字标签1:(变量类型)变量1名字;2,委托代理:既为某对象处理特定的事情的类//h文件#import @class Button;// 代表实现某个协议@protocol ButtonDelegate - (void)onClick:(Button *)btn;@end@interface Button : 阅读全文
posted @ 2013-11-12 09:05 wangzh@博客园 阅读(209) 评论(0) 推荐(0) 编辑