摘要: Messaging向一个实例发消息,runtime使用的是objc_msgSend函数来发送的。每一个class都有一个指针指向他的super class,有一个 dispatch table,指向每个方法的地址。每一个实例(来自NSObject or NSProxy)都有一个指针isa,指向他的c... 阅读全文
posted @ 2015-09-11 17:28 怎么也得过啊 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 一般提交到appstore的version:1.0.0 在project文件的general里面叫做"version"程序里面显示给用户的version: 1.0.0.xxx(xxx是我们svn的revision number,方便找到对应代码)在project文件的general里面叫做"buil... 阅读全文
posted @ 2015-09-11 17:27 怎么也得过啊 阅读(293) 评论(0) 推荐(0) 编辑
摘要: block访问的外部变量都会被COPY一份到block自己在heap中分配的数据结构中。所以访问scalar变量没问题,简单的值COPY,但是尽量不要访问大的struct或者由外部语境创建和销毁的对象,因为在block执行的时候,对象可能已经不见了。(weak reference可以避免这个问题)。... 阅读全文
posted @ 2015-09-11 17:25 怎么也得过啊 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 只考虑ARC环境:自己写的delegate,使用weak,不用assign。weak和assign的区别,当指向的对象被释放掉之后,weak指针会自动置为nil。而assign指针会指向一个无效的地址。在异步环境下,经常会遇到异步回调的时候调用delegate的回调方法,[self.delegate... 阅读全文
posted @ 2015-09-11 17:22 怎么也得过啊 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 设置环境变量:只在DEBUG版本设置,自己调试使用,设置这两个参数则内存是不会释放掉的。当出现message sent to deallocated instance EXC_BAD_ACCESS,会在xcode console打印出类似的日志:2015-09-09 12:00:54.073 Tri... 阅读全文
posted @ 2015-09-11 17:21 怎么也得过啊 阅读(163) 评论(0) 推荐(0) 编辑
摘要: from:iOS Good PracticesThe Clang compiler (which Xcode uses) has astatic analyzerthat performs control and data flow analysis on your code and checks ... 阅读全文
posted @ 2015-09-11 17:20 怎么也得过啊 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 开始在cell中是使用这个函数来加载图片的。[self.photoView sd_setImageWithURL:[NSURL URLWithString: [post objectForKey: @"thumb_url"]] completed:^(UIImage *image, NSError ... 阅读全文
posted @ 2015-09-11 17:18 怎么也得过啊 阅读(3289) 评论(0) 推荐(0) 编辑
摘要: 对于readwrite property, 如果getter setter都被重写了,则编译器不会自动生成 instance variable,得自己定义。对于readonly,getter被重写了也是同理。正确的使用weak。为了避免循环引用,会使用weak,但是weak的对象随时可能不在,那么如... 阅读全文
posted @ 2015-09-11 17:15 怎么也得过啊 阅读(232) 评论(0) 推荐(0) 编辑
摘要: initialize当程序向一个类或者它的子类第一次发消息的时候,runtime会向该类发送initialize消息。如果super class之前没有收到过initialize消息,会首先调用super class的initialize,然后才当前class的initialize.如果当前类没有实... 阅读全文
posted @ 2015-09-11 16:50 怎么也得过啊 阅读(1444) 评论(0) 推荐(0) 编辑