iOS基础学习---2015
北极的Coder
做一个牛逼的懂得产品的开发工程师
展开
-
iOS内存管理
1. 内总管理原则(引用计数) IOS的对象都继承于NSObject, 该对象有一个方法:retainCount ,内存引用计数。 引用计数在很多技术都用到: window下的COM组件,多线程的信号量,读写锁,思想都一样。 (一般情况下: 后面会讨论例外情况) alloc 对象分配后引用计数为1 retain 对象的引用计数转载 2015-06-11 17:45:29 · 444 阅读 · 0 评论 -
iOS中造成循环引用的集中情况
一、parent-child相互持有、委托模式 【案例】: ? 1 2 3 4 5 6 @interface FTAppCenterMainViewController () { } @property(weak,nonatomic) UITableView* m原创 2015-08-11 14:57:08 · 533 阅读 · 0 评论 -
UIApplication深入研究
UIApplication深入研究 很多时候,我们不需要关心这个类,我们很少继承这个类,偶尔会调用这个类的api来实现一些功能,但是不可否认,这个类是iOS编程中很重要的一个概念,所以我这里写这个文章来总结以下这个类的信息,如果写的不对的地方,请留言,多谢。 UIApplication的核心作用是提供了iOS程序运行期间的控制和协作工作。 每一个程序在运行期必须有且仅有一个UIApp转载 2015-07-20 09:47:35 · 310 阅读 · 0 评论 -
iOS应用程序生命周期(前后台切换,应用的各种状态)详解
iOS的应用程序的生命周期,还有程序是运行在前台还是后台,应用程序各个状态的变换,这些对于开发者来说都是很重要的。 iOS系统的资源是有限的,应用程序在前台和在后台的状态是不一样的。在后台时,程序会受到系统的很多限制,这样可以提高电池的使用和用户体验。 //开发app,我们要遵循apple公司的一些指导原则,原则如下: 1、应用程序的状态 状态如下: Not running转载 2015-08-27 11:07:01 · 382 阅读 · 0 评论 -
如何提高tableView的性能
如何提高tableView的性能 a、重用cell 我们都知道申请内存是需要时间,特别是在一段时间内频繁的申请内存将会造成很大的开销,而且上tebleView中cell大部分情况下布局都是一样的,这个时候我们可以通过回收重用机制来提高性能。 b、避免content的重新布局 尽量避免在重用cell时候,对cell的重新布局,一般情况在在创建cell的时候原创 2015-07-31 17:59:09 · 325 阅读 · 0 评论 -
iOS中文网址路径转换URLEncode
今天发现一个蛋疼的问题,服务端返回的urlString里面有时含有中文,使用 [NSURL URLWithString:urlString]生成URL对象时,iOS客户端不能正确进行网络请求,网上找到的URLEncode方法又不能完全解决问题. 方法1: NSString* encodedString = [urlStringstringByAddingPercentEsc原创 2015-09-08 17:42:23 · 382 阅读 · 0 评论 -
字典NSDictionary 使用注意
- (void)viewDidLoad { [super viewDidLoad]; NSDictionary* dic = @{@"a":@"1", @"b":@"2", @"c":@"3"原创 2015-09-08 09:25:52 · 619 阅读 · 0 评论 -
iOS开发UI篇—Quartz2D使用(图形上下文栈)
一、qurza2d是怎么将绘图信息和绘图的属性绘制到图形上下文中去的? 说明(原文): http://www.cnblogs.com/wendingding/p/3782489.html 新建一个项目,自定义一个view类和storyboard关联后,重写该类中的drowrect方法。 画线的三个步骤: (1)获取上下文 (2)绘图 (3)渲染 要转载 2015-09-24 11:50:43 · 571 阅读 · 0 评论 -
iOS 9系统策略更新,使用微信SDK的开发者注意升级
近期苹果公司iOS 9系统策略更新,限制了http协议的访问,此外应用需要在“Info.plist”中将要使用的URL Schemes列为白名单,才可正常检查其他应用是否安装。 受此影响,当你的应用在iOS 9中需要使用微信SDK的相关能力(分享、收藏、支付、登录等)时,需要在“Info.plist”里增加如下代码: 完成后需使用Xcode 7编译。 请注意:未升级到原创 2015-09-24 17:26:25 · 664 阅读 · 0 评论 -
UIView属性学习
UIView 属性 1.alpha 设置视图的透明度 . 默认为 1. // 完全透明 view . alpha = 0 ; // 不透明 view . alpha = 1 ; 2.clip原创 2015-07-29 22:29:51 · 350 阅读 · 0 评论 -
iOS中属性与成员变量的区别
一、类Class中的属性property 在ios第一版中,我们为输出口同时声明了属性和底层实例变量,那时,属性是oc语言的一个新的机制,并且要求你必须声明与之对应的实例变量,例如: @interface MyViewController :UIViewController { UIButton *myButton; } @property (nonatomic, reta原创 2015-08-25 13:04:12 · 345 阅读 · 0 评论 -
UIViewController的生命周期及iOS程序执行顺序
当一个视图控制器被创建,并在屏幕上显示的时候。 代码的执行顺序 1、 alloc 创建对象,分配空间 2、init (initWithNibName) 初始化对象,初始化数据 3、loadView 从nib载入视图 ,通常这一步不需要去干涉。除非你没有使用xib文件创建视图转载 2015-06-11 14:17:42 · 281 阅读 · 0 评论 -
ARC下循环引用的问题
最初 最近在开发应用时碰到使用ASIHttpRequest后在某些机器上发不出请求的问题,项目开启了ARC,代码是这样写的: @implementMainController - (void) fetchUrl{ ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:转载 2015-06-11 14:19:15 · 422 阅读 · 0 评论 -
iOS9 新增 UIStackView 官方文档翻译
iOS9 新增 UIStackView 官方文档翻译 一、继承关系、遵守协议、隶属框架及可用平台 UIStackView 类提供了一个高效的接口用于平铺一行或一列的视图组合。Stack视图使你依靠自动布局的能力,创建用户接口使得可以动态的调整设备朝向、屏幕尺寸及任何可用范围内的变化。Stack视图管理着所有在它的 arrangedSubviews 属性中的视图的布局。这些视图根转载 2015-06-14 14:19:44 · 568 阅读 · 0 评论 -
iOS crash 崩溃问题的追踪方法
iOS crash 崩溃问题的追踪方法 在调试程序的时候,总是碰到crash的bug,而且一追踪就是一些汇编的代码,让人特别疑惑。 一般情况下可以通过增加两天断点来解决此问题,方法介绍如下: 基本上有错误分为以下几种类型: signal(SIGABRT, MySignalHandler); signal(SIGILL, MySignalHandler); signal(SIGSEG转载 2015-07-13 12:57:19 · 401 阅读 · 0 评论 -
ios学习7_iPhone屏幕尺寸、分辨率及适配
1.iPhone尺寸规格 设备 iPhone 宽 Width 高 Height 对角线 Diagonal 逻辑分辨率(point) Scale Factor 设备分辨率(pixel) PPI 3GS 2.4 inches转载 2015-07-06 22:28:22 · 775 阅读 · 0 评论 -
UIWindow & UIWindowLevel
一、UIWindow是一种特殊的UIView,通常在一个程序中只会有一个UIWindow,但可以手动创建多个UIWindow,同时加到程序里面。UIWindow在程序中主要起到三个作用: 1、作为容器,包含app所要显示的所有视图 2、传递触摸消息到程序中view和其他对象 3、与UIViewController协同工作,方便完成设备方向旋转的支持 二、通常我们原创 2015-08-25 09:21:50 · 405 阅读 · 0 评论 -
edgesForExtendedLayout、automaticallyAdjustsScrollViewInsets属性
在IOS7以后 ViewController 开始使用全屏布局的,而且是默认的行为通常涉及到布局 就离不开这个属性 edgesForExtendedLayout,它是一个类型为UIExtendedEdge的属性, 指定边缘要延伸的方向,它的默认值很自然地是UIRectEdgeAll,四周边缘均延伸,就是说, 如果即使视图中上有navigationBar,下有tabBar,那么视图原创 2015-07-16 16:57:04 · 680 阅读 · 0 评论 -
Block用法(存取变量)(一)
存取变量 1、可以读取和Block pointer同一个Scope的变量值: [cpp] view plaincopy { int outA = 8; int (^myPtr)(int) = ^(int a){ return outA + a;}; //block里面可以读取同一类型的out原创 2015-08-10 16:57:34 · 401 阅读 · 0 评论 -
Core Animation系列之CADisplayLink
如果觉得文章对你有所帮助,请通过留言或关注微博、微信公众帐号 wangzzstrive来支持我,谢谢! 一直以来都想好好学习下CoreAnimation,奈何涉及的东西太多,想要一次性全部搞定时间上不允许,以后会断断续续的补全。最近项目里用到了CADisplayLink,就顺便花点时间看了看。 一、简介 1、所在框架 CADisplayLink和其它CoreAnimatio转载 2015-09-24 15:05:20 · 391 阅读 · 0 评论