随笔分类 - OC
摘要:类方法和实例方法 实例方法是— 类开头是+ 实例方法是用实例对象访问,类方法的对象是类而不是实例,通常创建对象或者工具类。在实例方法里,根据继承原理发送消息给self和super其实都是发送给self在类方法里面self是其他的类的类方法,在类方法中给self发送消息只能发类方法self是类super也是什么时候用类方法,要创建一个实例时候获取一个共享实例,或者获取关于类的一些共有信息
阅读全文
摘要:strong和weak的区别strong表示保留它指向的堆上的内存区域不再指向这块区域了。也就是说我强力指向了一个区域,我们不再指向它的条件只有我们指向nil或者我自己也不在内存上,没有人strong指向我了,weak表示如果还没有人指向它了,它就会被清除内存,同时被指向nil,因为我不能读取不存在的东西。weak只在IOS5.0使用这并不是垃圾回收,我们用reference count表示堆上还有多少strong指针,当它变为0就马上释放。本地变量都是strong,编辑器帮你计算
阅读全文
摘要:属性:为什么要有属性 。首先是因为实例变量的安全性和继承能力,如果我们允许被继承,子类要动这些实例变量,我们需要能够参与进来,如果子类设置了某个值,我们需要检查范围,保证不会破坏父类,保证不会破坏父类,所以这是要有属性的首要原因。因为我们在自己的类里面访问实例变量是没问题,但是在其他类里面访问这个类的实例变量,就要用到属性了,这种将实例变量隐藏起来的方法叫做数据封装的概念,这样别的程序员调用这个实例变量不会破坏这个原有的类第二个原因是它提供了一个阀门给延迟实例化,UI更新,一致性检测。所以属性有很多宝贵的作用,我们不要直接的读取实例变量。其实我们实现属性的时候也可以不创建实例变量。不要用实现属
阅读全文
摘要:M 是model就是数据 , C是控制器,V是界面显示(一些控件)C可以和V 和 M 通信。 V 和 C之间可以通过方法,或者代理来进行通信,假如是永久的信息时候可以通过新建一个对象,调用方法来实现,假如是即时临时信息可以通过代理来进行。 C本身的View可以通过self.View进行获取在View里面声明共有方法的时候会调用。如果是3级关系的时候最后一级页面可能看不到最前面,则需要一层层通知传递消息。这个过程就是回调。 V的初始化,如果通过NIB文件初始化失败会自动调用loadView 方法。也可以新建一个View
阅读全文
摘要:UINavigationController *menuController = (UINavigationController*)((AppDelegate*)[[UIApplication sharedApplication] delegate]).menuController; FeedController *controller = [[FeedController alloc] init]; [menuController pushViewController:controller animated:YES];这个menuController就是传的数值
阅读全文