OC
文章平均质量分 87
uestclhj
这个作者很懒,什么都没留下…
展开
-
iOS 保持界面流畅的技巧
iOS 保持界面流畅的技巧由 ibireme | 2015-11-12 | iOS, 技术这篇文章会非常详细的分析 iOS 界面构建中的各种性能问题以及对应的解决思路,同时给出一个开源的微博列表实现,通过实际的代码展示如何构建流畅的交互。Index演示项目屏幕显示图像的原理卡顿产生的原因和解决方案CPU 资源消耗原因和解决方案GPU转载 2015-11-17 11:48:47 · 530 阅读 · 0 评论 -
viewDidLoad, viewWillDisappear, viewWillAppear等方法的区别及各自的加载顺序
viewWillAppear: Called when the view is about to made visible. Default does nothing视图即将可见时调用。默认情况下不执行任何操作viewDidAppear: Called when the view has been fully transitioned onto the screen. De转载 2015-10-14 19:49:30 · 340 阅读 · 0 评论 -
运行时runtime
运行时是苹果提供的比较底层的C语言API(C语言库)利用运行时可以: 可以获得对象中的所有成员变量,成员属性,成员方法以及其它很牛逼的功能。这里暂且只介绍上一点。需求背景需求:更改UITextField里占位文字的颜色,而我们不知道怎么改,猜测它有个label用来显示占位文字,但头文件里没有暴露,我们要怎么证明它有这个成员变量并且拿到它呢?具体使用导入头文件<objc/runtime.原创 2015-09-20 16:30:25 · 514 阅读 · 0 评论 -
iOS中操作SQLite数据库
一般数据存储方式文件读写,仅支持四种数据NSString、NSArray、NSDictionary、NSData归档NSUserDefaults偏好设置这三种存储方式,要对某个数据作修改,都是整体覆盖操作,效率非常低。SQLite优点SQLite是以表的形式存数据,类似excel。要修改某一条数据,可以单独对其操作而不需要整体覆盖。轻量级数据库,占用内存小,速度快,跨平台,可以在iO原创 2015-10-22 23:31:48 · 849 阅读 · 0 评论 -
网络加密HTTPS
检测网络状态一般用AFN框架中的AFNetworkReachabilityManager.h这个类可以监听用户网络状态,看时3G还是wifi,可以对应的返回缩略图还是大图先获取网络监听管理者对象:单例,shareAFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager];-设置监听原创 2015-09-19 00:16:22 · 793 阅读 · 0 评论 -
检测用户的网络状态
检测网络状态一般用AFN框架中的AFNetworkReachabilityManager.h这个类可以监听用户网络状态,看时3G还是wifi,可以对应的返回缩略图还是大图先获取网络监听管理者对象:单例,shareAFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager];-设置监听原创 2015-09-19 00:14:34 · 649 阅读 · 0 评论 -
关于地图:CoreLocation的使用
基本概念地图和定位功能基于两个框架:Map Kit:用于地图展示Core Location:用于地理定位2个入门专业术语:LBS Location Based Service 基于位置的服务 (查看周边)SoLoMo: Social Local Mobil (索罗门) 社交本地移动(微信陌陌的定位)经纬度结构体:CLLocationCoordinate2D - CLLocationCoor原创 2015-10-19 20:45:52 · 442 阅读 · 0 评论 -
通知
通知什么时候使用通知:当两个对象没有联系的时候,使用通知。让两个没有联系的对象产生关系。发出通知 (postNotification)新建一个通知(NSNotification)对象 一个完整的通知一般包含三个属性: (NSString *)name; // 通知的名称 (id)object; // 通知发布者(是谁要发布通知) (NSDictionary *)userInfo; //原创 2015-09-01 00:40:16 · 334 阅读 · 0 评论 -
代理
代理思路:如果某个控件需要做某件事,自己没法做,就让代理去做,通知代理去做某件事,而代理要做这件事需要两个参数:谁让它做,和做这件事的一个参数(这个参数也可以没有)。如果代理实现了代理方法,那么这个控件就把这两个参数传给代理。最后代理根据这两个参数在实现的代理方法里把事情完成。案例一:传数据给代理(类似tableView的监听类型的代理方法)传递控制器里面:如果代理实现了_editDelega原创 2015-09-01 00:42:51 · 279 阅读 · 0 评论 -
UICollectionView
UICollectionView注意:类似tableView,可以设置控制器的view就是collectionView,也可以添加一个比较小的collectionView作为控制器的view的子控件流水布局:系统会自动布局,一排放不下,自动放到第二排界面要通过流水布局对象来设置各种约束 // 创建一个流水布局对象 UICollectionViewFlowLayout *layou原创 2015-08-30 00:36:07 · 618 阅读 · 0 评论 -
瀑布流
瀑布流根据上一篇的UICollectionView,现在我们来搭建一个瀑布流的布局。 思路:分三列,用个数组来存放三列的最底部y值,比较哪个最小,那么下一个cell就放哪个位置框架的思路:自己写个瀑布流的布局框架定义一些成员变量,提供给外界设置这里有四边距、水平间距、垂直间距、默认列数@property (assign,nonatomic) CGFloat horizontalMarg原创 2015-08-30 00:57:55 · 413 阅读 · 0 评论 -
iOS开发中frame与Bounds的区别,以及几何方法的小结
关于frame和boundsbounds以控件的内容左上角为坐标原点。如果内容设置了缩进60,那么bounds就变成了-60。案例一:假设一个scrollView的宽高是50,60,挨着屏幕左上角,那么正常情况下如果它的bounds是(0,0,50,60),frame是(0,0,50,60)。如果它的contentOffset改为100,100(就是内容往左上移动了100,100),那么此时原创 2015-08-30 09:47:56 · 1152 阅读 · 0 评论 -
运行时-二
从一道面试题说开去有一个Person类继承于NSObject,它有一个子类Student。 现在在Student里写下如下代码,求输出结果Student *stu = [[Student alloc] init];NSLog(@"%@ %@ %@ %@",[self class],[super class],[self superClass],[super superClass]);class原创 2015-11-18 22:29:18 · 315 阅读 · 0 评论