
Objective-C
陈三哥
IT狗一只,汪汪汪,我叫三哥
展开
-
Objective-C 之类目(category)的应用
类目(Category)Category提供了一种比继承(inheritance)更为简洁的方法来对class进行扩展,我们可以为任何已经存在的class添加方法(不包括数据成员)却不需要访问该class的实现文件。新添加的方法和原有的方法具有同等的地位,可以访问class的数据成员,并且完全植入到class的继承体系之中,子类同样会继承新添加的方法。利用category对类进行扩转载 2013-05-16 11:00:09 · 1141 阅读 · 0 评论 -
UINavigationController的popViewControllerAnimated问题
UINavigationController是IOS编程中的一个view controller的容器,通过栈管理viewControllers,每一次push操作都将在栈顶添加一个view controller,然后通过pop将该栈最顶端的controller移除。我们在工程中,通常会在controller中执行[self.navigationController popViewC转载 2013-07-05 17:35:07 · 4982 阅读 · 3 评论 -
UIWebView / NSURL / NSBoundle 相关应用 (实例,加载完成前的背景, 默认safari打开链接地址等)
UIWebView可以让你创建一个网页浏览器,类似safari,而不是在程序中启动safsri哦。是不是觉得很棒呢?废话少说,切入正题。一、创建UIWebViewCGRect bouds = [[UIScreen mainScreen]applicationFrame]; UIWebView* webView = [[UIWebView alloc]initWithFrame:bo原创 2013-07-11 11:20:19 · 1493 阅读 · 0 评论 -
委托和代理的相关概念
委托代理(degegate),顾名思义,把某个对象要做的事情委托给别的对象去做。那么别的对象就是这个对象的代理,代替它来打理要做的事。反映到程序中,首先要明确一个对象的委托方是哪个对象,委托所做的内容是什么。委托机制是一种设计模式,在很多语言中都用到的,这只是个通用的思想 协议(protocol) 相当于 java 里的接口,delagate 就是接口的实现类(C中的回调类似);数原创 2013-06-24 14:52:33 · 2205 阅读 · 0 评论 -
IOS更改系统自带的返回按钮标题和背景图片
两个办法:1, 手动为每一个UIViewController添加navigationItem的leftButton的设置代码2,为UINavigationController实现delegate,在pop和push的时候改变当前和上一页的navigationItem.title以下是封装的一些基础方法,供参考:+ (void) navigationItem:(U原创 2013-06-08 17:54:08 · 26700 阅读 · 0 评论 -
iPhone内存管理详细解说(二)
继上一篇之后,再来讲述iPhone内存管理的细节.四:动态内存管理第四节就内容实质来说跟第三节的object的拥有和丢弃政策是一样的,不过是从以代码为引导的动态形式讲述.所以你会在这一节看到许多代码例子帮助你理解.核心还是那些基本的规则.1.基本知识主要规则还是object所有权,文档在这里重复性太大,我就只写一些值得注意的地方. 我们会看到很多类提供以”+clas转载 2013-06-04 11:54:37 · 917 阅读 · 0 评论 -
iPhone内存管理详细解说(五)
七:实现Object的Copy这一节介绍两种方法使用NSCopying的协议copyWithZone方法去实现objects的copy。 你有两种方法通过实现NSCopying的协议copyWithZone创建copies:单纯使用alloc和init使用 NSCopyObject对于如何选择,你需要考虑:我需要深拷贝还是浅拷贝我需要继承NSCopying的一些方法转载 2013-06-04 11:51:38 · 950 阅读 · 0 评论 -
(IOS)Assign VS Retain VS Copy三者的区别与分析总结
assign VS retainassign,基本上是为简单数据类型准备的,原子类类型,例如CGPoint、CGFloat等,而不是NS对象们;retain:释放旧的对象,将旧对象的值赋予输入对象,再使输入对象的索引计数为1两者区别:接触过C,那么假设你用malloc分配了一块内存,并且把它的地址赋值给了指针a,后来你希望指针b也共享这块内存,于是你又把原创 2013-06-04 11:02:23 · 1075 阅读 · 0 评论 -
iPhone内存管理详细解说(一)
iPhone内存管理详细解说系列转载来源:http://keywind.me/blog/2011/05/07/iphonenei-cun-guan-li-xiang-xi-jie-shuo-yi/ 感谢这位作者做iPhone开发内存管理是避免不了的问题,而且Apple不对iOS进行垃圾回收机制肯定有他的原因.要想清楚了解内存管理,官方文档是最好的资源,于是把这几天看的Mem转载 2013-06-04 11:56:27 · 1890 阅读 · 0 评论 -
iPhone内存管理详细解说(三)
五:Autorelease Pools这一节相对于上几节,详细讲解了Autorelease Pools1.Autorelease Pools综述Autorelease Pools是NSAutorelease的实例,它是一个容器,容纳各种接到autorelease消息的objects。一个object可以被多次放入autorelease pools中,放进去几次就会relea转载 2013-06-04 11:53:52 · 897 阅读 · 0 评论 -
iPhone内存管理详细解说(四)
六:Accessor方法这一节主要讲述为什么推荐使用Accessor方法以及如何声明和实现他们,主要也是前面讲过的内容的细化。 使用Accessor方法的好处在于大大提高了类的封装性,使你可以简化一些基本的内存管理的内容1.声明Accessor方法声明相当简单,如果你稍微有点基础,就应该很熟悉下面举例的代码:@property (copy) NSString *firstName;转载 2013-06-04 11:52:42 · 816 阅读 · 0 评论 -
浅析ObjectiveC 深浅拷贝学习
iPhone开发语言Objective-C是一种简单的计算机语言,简称OC,支持复杂南通的面向对象编程。Objective C语言,通常写作ObjC和较少用的Objective C或Obj-C,是扩充C的面向对象编程语言。它主要使用于Mac OS X和GNUstep这两个使用OpenStep标准的系统,而在NeXTSTEP和OpenStep中它更是基本语言。Objective C可以在gcc运作的转载 2013-06-04 10:05:57 · 823 阅读 · 0 评论 -
typedef和define的区别
typedef和define的区别typedeftypedef是一种在计算机编程语言中用来声明自定义数据类型,配合各种原有数据类型来达到简化编程的目的的类型定义关键字。 #define是预处理指令。下面让我们一起来看。typedef是C语言语句,其功能是用户为已有数据类型取“别名”。 例如: typedef int INTEGER;转载 2013-06-03 11:35:07 · 902 阅读 · 0 评论 -
xcode checkout an existing project 出错 unable to connect to a repository at url解决方法
有关xcode 中checkout an existing project 中出错的问题,小的碰到了很多次,但最后都是不了了之,今天又碰到了一次我的情况是这样,我第一次checkout an existing project 时是正常的,但由于检出后发现目录结构不正确,我就在Xcode菜单栏的window-》organizer中删除了现存的responsibility 重新打开xcod原创 2013-11-18 17:09:06 · 12833 阅读 · 2 评论