oc
辉太郎happylife
这个作者很懒,什么都没留下…
展开
-
oc中的属性和变量
初学oc的同学都应该会遇到这个问题,在*.m原创 2014-06-26 09:10:30 · 383 阅读 · 0 评论 -
NSNotification和委托代理
NSNotification是通知模式在iOS的实现,KVO的全称是键值观察(Key-value observing),其是基于KVC(key-value coding)的,KVC是一个通过属性名访问属性变量的机制。例如将Module层的变化,通知到多个Controller对象时,可以使用NSNotification;如果是只需要观察某个对象的某个属性,可以使用KVO。对于委托模式,在设计模式原创 2015-01-23 17:38:38 · 321 阅读 · 0 评论 -
NSNotification、delegate和KVO的区别
1.效率肯定是delegate比nsnotification高。2. delegate方法比notification更加直接,最典型的特征是,delegate方法往往需要关注返回值, 也就是delegate方法的结果。比如-windowShouldClose:,需要关心返回的是yes还是no。所以delegate方法往往包含 should这个很传神的词。也就是好比你做我的delegate,我会原创 2015-01-23 17:37:58 · 336 阅读 · 0 评论 -
Xcode6 pch文件问题
这里讲的pch问题不是创建,而是在xcode5创建项目,期间更改过项目名称,然后在xcode6运行时会报pch文件找不到。这里pch文件找不到,是因为项目名称没有改干净,在TARGETS中的Tests里面的项目名称没有改变,需要手动修改这里面的项目名称。原创 2015-02-09 11:25:54 · 346 阅读 · 0 评论 -
nil、Nil、NULL、NSNull
最近新浪面试问了这么个问题:nil、Nil、NULL、NSNull的区别,当时没有回答出来,平时用的时候也没有特别在意这个问题。现在找好资料总结一下。nilnil是ObjC对象的字面空值,对应id类型的对象或者使用@interface声明的ObjC对象例如:NSString *str = nil;NSArray *array = nil;id objc = nil;if(se原创 2015-01-06 15:58:07 · 281 阅读 · 0 评论 -
block用法小计
默认情况下,任何block都是在栈中,随时可能会被回收。对block设置copy属性,block的内存就会放到堆里面。 Book *b = [[Book alloc] init]; b.block = ^{ b.age = 20; };如果像上述写法block所指向的代码块会强引用Book的内存地址,使得Book对象不能释放,原创 2015-01-06 15:12:59 · 519 阅读 · 0 评论 -
XCode6定义数据模型的错误
@property (nonatomic,strong) UIImage *cacheImage;原创 2014-10-30 11:35:36 · 390 阅读 · 0 评论 -
XMPP
腾讯的IM协议是二进制流。原创 2014-09-29 10:00:11 · 463 阅读 · 0 评论 -
将程序中文件保存至沙盒中
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); // 获取document目录 NSString *documentDirectory = [paths objectAtIndex:0]; // 追加文件原创 2014-09-16 17:21:55 · 703 阅读 · 0 评论 -
UIScrollView在storyboard中设置不能响应滚动
今天在做练习的时候遇到这样的一个问题,在she原创 2014-08-21 17:30:41 · 568 阅读 · 0 评论 -
提高UITableView性能的三种方法
使用可重用cell申请内存需要时间,特别是在一段时间内频繁的申请内存将会造成很大的原创 2014-08-21 09:12:13 · 361 阅读 · 0 评论 -
xcode项目中的.pch文件
xcode中的*.pch文件是很强大的,在该文件中定义原创 2014-08-19 15:49:16 · 430 阅读 · 0 评论 -
iOS模拟器无法响应电脑键盘
启动模拟器,在需要输入文字的地方,敲击 mac 下的真实键盘,但是模拟器上没有任何输出。google 一下,得到解决办法:退出模拟机进入 ~/Library/Preferences删除 "com.apple.iphonesimulator.plist"重新启动模拟器转载 2014-07-30 16:22:54 · 1306 阅读 · 0 评论 -
解决UINavigationController+UITabbar跳转页面隐藏tabbar的一种方法
今天做项目的时候遇到要处理在原创 2014-07-28 16:17:38 · 1153 阅读 · 0 评论 -
仿iOS通讯录页面设计
先上图,大家看看效果原创 2014-07-04 16:21:50 · 1378 阅读 · 0 评论 -
NSPredicate初识
NSPredicate 用于执行搜素或内存中的过滤操作原创 2014-07-04 15:35:14 · 367 阅读 · 0 评论 -
timeIntervalSince1970计算时间
相信很多人都会遇到这个问题,将往服务器传时间的时候需要转换类型。就会用到timeIntervalSince1970这个函数,但是会发现用这个转换后在转成NSDate数据时会少了8个小时。timeIntervalSince1970确定的时区是GTM时区,会产生一个时区差。采用这个方法就可以消除时区差,获得本地时间。NSTimeZone *timeZone = [NSTimeZone system原创 2015-03-24 15:46:28 · 11928 阅读 · 0 评论