2013年4月6日
摘要: 在IOS编程中,很多人没有理解实例变量与属性的区别,我根据自己的经验,这这里与大家分享下这里面的区别,下面我写一个简单的例子:.h@interface MyController : UIViewController{ UILabel *_myLabel;//这里是实例变量声明}@property (nonatomic, retain) UILabel *myLabel;//这里是你的属性声明@end.m@implementation MyController@synthesize myLabel = _myLabel;...@end相信大家都看到过这样的程序,但我们一般写的程序是下面这样子的. 阅读全文
posted @ 2013-04-06 21:39 junxiaohu 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 这三者,初学者往往会犯糊涂。怎么来区分呢? 属性往往和synthesize配合来产生设置器和获取器,一般建议的话,对于类的实例变量的访问通过获取和设置器。现在有了自动synthesize这个特性后就不需要在.m文件里synthesize。现在还支持只有属性,而不声明实例变量。其实属性已经隐含地生成了一个_开头的实例变量,这样我们就可以在.m文件中直接用。但是如果你既声明实例变量,又声明属性,那么自动生成的实例变量就会被隐藏,而这个往往会产生警告。除非你再synthesize一下,并且写成这个格式@synthesize someProperty=_someProperty;所以好的做法是实例变. 阅读全文
posted @ 2013-04-06 18:49 junxiaohu 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 继承 “是一个”复合 “有一个” 阅读全文
posted @ 2013-04-06 15:40 junxiaohu 阅读(84) 评论(0) 推荐(0) 编辑
摘要: ios面试题收集一(附基本答案)2012-08-17 16:57:38 我来说两句 作者:Nono_Love_Lilith收藏我要投稿此份面试题包含40个题目,是现在网上能搜索到的一个比较热的一份,但是答案并不是很详细和完整,基本答案来着cocoaChina,和一些自己的补充。1.Difference between shallow copy and deep copy?浅复制和深复制的区别?答案:浅层复制:只复制指向对象的指针,而不复制引用对象本身。深层复制:复制引用对象本身。意思就是说我有个A对象,复制一份后得到A_copy对象后,对于浅复制来说,A和A_copy指向的是同一个内存资源,复 阅读全文
posted @ 2013-04-06 15:40 junxiaohu 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 头文件中,导入头文件时,继承只能用#import“”,复合用@class(此为前向引用,当然用#import“”也可以,但在两个类互相依赖时易出错) 阅读全文
posted @ 2013-04-06 15:39 junxiaohu 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 深浅复制以及是否可变总结:可变不可变,看复制方法是mutablCopy:还是Copy:;深或浅,看对象可变还是不可变; 阅读全文
posted @ 2013-04-06 15:38 junxiaohu 阅读(99) 评论(0) 推荐(0) 编辑
摘要: NSTimer是Cocoa中比较常用的定时器类,基本操作如下:handleTimer方法可以自行定义。在需要的地方创建timer即可,handleTimer就可以每0.5秒执行一次。- ( void ) handleTimer: ( NSTimer *) timer{// 在这里进行处理}NSTimer *timer;timer = [ NSTimer scheduledTimerWithTimeInterval : 0.5target : selfselector : @selector (handleTimer:)userInfo : nilrepeats : YES ]; 阅读全文
posted @ 2013-04-06 15:37 junxiaohu 阅读(106) 评论(0) 推荐(0) 编辑
摘要: JSON是一种新的用于在互联网上进行数据交换的标准格式。 由于它的冗余、可读性和可解析性都比XML要好,因此JSON这种数据交换格式越来越广泛地运用于Web应用, 尤其是Ajax应用中。在Cocoa中使用JSON也很简单,目前有两个JSON的框架, 都很容易使用,而且都对NSDictionary进行了扩展,您可以选择其一将JSON“揉”到您的Cocoa应用程序里。一个叫做 BSJSonAdditions , 由 Blake Seely 开发。 将NSDictionary对象转成JSON字符串只需要进行如下转换:[ dict jsonStringValue ];就可以返回一个NSString的J 阅读全文
posted @ 2013-04-06 15:36 junxiaohu 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 1. 创建一个新的线程:[NSThread detachNewThreadSelector:@selector(myMethod) toTarget:self withObject:nil]; 2. 创建线程所调用的方法:- (void)myMethod { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];*** code that should be run in the new thread goes here *** [pool release];}假如我们需要在线程里面调用主线程的方法函数,就可以用per... 阅读全文
posted @ 2013-04-06 15:34 junxiaohu 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 1.initWithCoder: 对于.xib,视图加载时默认调用的是该方法;2.initWithFrame: 非.xib的手动编码,视图加载时默认调用的是该方法。所有初始化的代码都放到上面方法内部调用。另,对于.xib,也可以在awakeFromNib方法里面放额外的初始化动作。 阅读全文
posted @ 2013-04-06 15:32 junxiaohu 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 获取Documents目录路径的方法:NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);NSString *docDir = [paths objectAtIndex:0]; 阅读全文
posted @ 2013-04-06 15:31 junxiaohu 阅读(285) 评论(0) 推荐(0) 编辑
摘要: self.window.rootViewController与window addSubview二者有什么区别?答:4.0之前用[self.windowaddSubview:self.xxxxController.view]; 之后用self.window.rootViewController =xxxxController 阅读全文
posted @ 2013-04-06 15:28 junxiaohu 阅读(544) 评论(0) 推荐(0) 编辑
摘要: Present ViewController Modally一、主要用途 弹出模态ViewController是IOS变成中很有用的一个技术,UIKit提供的一些专门用于模态显示的ViewController,如UIImagePickerController等。弹出模态ViewController主要使用于一下这几种情形: 1、收集用户输入信息 2、临时呈现一些内容 3、临时改变工作模式 4、相应设备方向变化(用于针对不同方向分别是想两个ViewController的情况) 5、显示一个新的view层级 这几种情形都会暂时中断程序正常的执行流程,主要作用是收集或者显示一些信息。二... 阅读全文
posted @ 2013-04-06 15:27 junxiaohu 阅读(160) 评论(0) 推荐(0) 编辑