
Objective-C
jacinzhang
这个作者很懒,什么都没留下…
展开
-
ASSERT()和NSAssert
开发ios程序时调试的好帮手---NSAssert()函数。而且和NSLog()函数一样简单易用,代码如下: NSAssert(x!=0,@"x must not be zero");在表达式“x!=0”不成立时,程序就会抛出异常,并显示自定义的消息"x must not be zero",并同时显示出错的文件、代码和调用函数等信息,是一个程序追踪的很好手段。假设x!=0,不转载 2015-04-01 13:31:22 · 464 阅读 · 0 评论 -
AutoLayout框架Masonry使用心得
原文链接AutoLayout的一些基本概念利用约束来控制视图的大小和位置,系统会在运行时通过设置的约束计算得到frame再绘制屏幕两个属性Content Compression Resistance(排挤,值越高越固定)和Content Hugging(拥抱),Masonry代码如下//content hugging 为1000[view setContentHuggingP转载 2016-02-02 14:12:17 · 339 阅读 · 0 评论 -
如何打破NSTimer 与 Target之间形成的Retain Cycle
NSTimerRetain Cycle原创 2016-01-28 01:18:40 · 289 阅读 · 0 评论 -
iOS UILabel自定义行间距时获取高度
参考:http://www.cnblogs.com/wb145230/p/4464430.html http://blog.163.com/cz_jdton/blog/static/92732504201311304243390/ 本文介绍一下自定义行间距的UILabel的高度如何获取,需要借助一下开源的UILabel控件:TTTAttributedLabel转载 2015-12-19 19:16:07 · 370 阅读 · 0 评论 -
最火的iOS开源项目
1. AFNetworking支持HTTP请求和基于REST的网络服务(包括GET、POST、PUT、DELETE等);支持ARC;要求iOS 5.0及以上版本;有一些插件扩展已有的功能,还有一个功能齐全的API;从URL中获取JSON特别简单。2. Three20Three20原本是iPhone版Facebook中所使用的工具库,包括照片查看器等一系列的iPh转载 2015-11-18 00:00:28 · 423 阅读 · 0 评论 -
UIView用户事件响应
UIView除了负责展示内容给用户外还负责响应用户事件。本章主要介绍UIView用户交互相关的属性和方法。 1、交互相关的属性 userInteractionEnabled 默认是YES ,如果设置为NO则不响应用户事件,并且把当前控件从事件队列中删除。也就是说设置了userInterfaceEnabled属性的视图会打断响应者链导致该view的subview都无法响应事件。转载 2015-11-18 01:18:40 · 293 阅读 · 0 评论 -
Copy 和 MutableCopy
一个对象可以调用copy或mutableCopy方法来创建一个副本对象。 1、copy:创建的时不可变副本(如NSString、NSArray、NSDictionary)。 2、mutableCopy:创建的可变副本(如NSMutableString、NSMutableArray、NSMutableDictionary)。 使用copy功能的前提:原创 2015-11-23 10:28:55 · 316 阅读 · 0 评论 -
关键字const static extern
原文前言本篇主要介绍在开发中怎么使用const,static,extern3个关键字,如果喜欢我的文章,可以关注我微博:吖了个峥,也可以来小码哥,了解下我们的iOS培训课程。后续还会更新更多内容。。。一、const与宏的区别(面试题):const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量。编译时刻:转载 2015-10-29 10:33:36 · 450 阅读 · 0 评论 -
一些常用的IOS开发网站
开发教程:即便过了入门阶段,还是要经常看看一些不错的实例教程。1.http://mobile.tutsplus.com/category/tutorials/iphone/比较新的一个网站,以前没注意到。其中有一篇文章着重推荐,学习iOS游戏开发可以参考的10个实例(源代码都在github上):http://mobile.tutsplus.com/tutoria转载 2015-10-29 10:29:11 · 284 阅读 · 0 评论 -
iOS运行时初探-使用运行时机制向Category中添加属性
了解OC的都应该知道,在一般情况下,我们是不能向Category中添加属性的,只能添加方法,但有些情况向,我们确实需要向Category中添加属性,而且很多系统的API也有一些在Category添加属性的情况,例如我们属性的UITableView的section和row属性,就是定义在一个名为NSIndexPath的分类里的,如下 那这到底是怎么实现的呢?iOS运行时机制简介转载 2015-10-29 10:26:50 · 259 阅读 · 0 评论 -
Objective-C之run loop详解
Objective-C之run loop详解作者:wangzz原文地址:http://blog.youkuaiyun.com/wzzvictory/article/details/9237973转载请注明出处如果觉得文章对你有所帮助,请通过留言或关注微信公众帐号wangzzstrive来支持我,谢谢! 做了一年多的IOS开发,对IOS和Obj转载 2015-04-13 13:56:25 · 272 阅读 · 0 评论 -
Objective-C特性:Runtime
Objective-C是基于C语言加入了面向对象特性和消息转发机制的动态语言,这意味着它不仅需要一个编译器,还需要Runtime系统来动态创建类和对象,进行消息发送和转发。下面通过分析Apple开源的Runtime代码(我使用的版本是objc4-646.tar)来深入理解Objective-C的Runtime机制。Runtime数据结构在Objective-C中,使用[receiv转载 2015-07-21 10:52:15 · 242 阅读 · 0 评论 -
NSRunLoop
Run LoopsRun loops是线程相关的的基础框架的一部分。一个run loop就是一个事件处理的循环,用来不停的调度工作以及处理输入事件。使用run loop的目的是让你的线程在有工作的时候忙于工作,而没工作的时候处于休眠状态。Run loop的管理并不完全自动的。你仍然需要设计你的线程代码在合适的时候启动run loop并正确响应输入事件。Cocoa和Core Fund转载 2015-04-13 13:23:04 · 273 阅读 · 0 评论 -
在ARC工程引入非ARC时,出现__unsafe_unretained
@interface MDSpreadView : UIScrollView { @private id MDSpreadViewDataSource> _dataSource;}@property (nonatomic, assign) IBOutlet id MDSpreadViewDataSource> dataSource;转载 2015-04-01 13:34:18 · 253 阅读 · 0 评论 -
NSThread & Run Loop
前言多线程的价值无需赘述,对于App性能和用户体验都有着至关重要的意义,在iOS开发中,Apple提供了不同的技术支持多线程编程,除了跨平台的pthread之外,还提供了NSThread、NSOperationQueue、GCD等多线程技术,从本篇Blog开始介绍这几种多线程技术的细节。对于pthread这种跨平台的多线程技术,这本Programming with POSIX Th转载 2015-04-14 19:26:35 · 299 阅读 · 0 评论 -
iOS开发---init和initialize
一、init和initialize1.方法类型1> init属于对象方法,-开头2> initialize属于类方法,+开头 2.调用时刻1> init:每个对象初始化的时候调用一次2> initialize:每个类初始化的时候调用一次(看来如果一个子类没有实现initialize方法,那么超类会调用这个方法两次)(一个对象和一个类都只初始化一次) 3.例子原创 2015-03-23 10:23:41 · 397 阅读 · 0 评论 -
Difference between objectForKey and valueForKey in NSDictionary
原文链接:http://fann.im/blog/2012/04/12/difference-between-objectforkey-and-valueforkey-in-nsdictionary/从 NSDictionary 取值的时候有两个方法,objectForKey: 和 valueForKey:,这两个方法具体有什么不同呢?先从 NSDictionary 文档中来看这两转载 2015-07-21 17:07:00 · 181 阅读 · 0 评论 -
有趣的Autolayout示例-Masonry实现
更新2015-12-23: 感谢XVXVXXX的PR,更新了Case22015-12-15: 第三篇:有趣的Autolayout示例3-Masonry实现2015-11-27: 感谢“谢小雷”指出打字错误~2015-9-10: 第二篇: 有趣的Autolayout示例2-Masonry实现2015-9-1: 感谢“王振宇C艹”指出打字错误,已经修改了哈~前言转载 2016-02-02 14:14:02 · 269 阅读 · 0 评论