温馨提示

1、列表网提醒您:在交易前请仔细核实商家真实资质!如发现非法商家,欢迎广大网民举报,举报电话:4000-999-800。

2、该信息由列表网网友发布,其真实性及合法性由发布人负责,列表网仅引用以供用户参考,详情请阅读列表网免责条款。

3、在签订合同或相关协议之前,任何要求预付定金、汇款等方式均存在风险,谨防上当受骗!

详情描述

需求就拿我们公司项目来说吧,我们公司是做导航的,而且项目规模比较大,各个控制器功能都已经实现。突然有一天老大过来,说我们要在所有页面添加统计功能,也就是用户进入这个页面就统计一次。郑州iOS培训会想到下面的一些方法:手动添加直接简单粗暴的在每个控制器中加入统计,复制、粘贴、复制、粘贴...上面这种方法太Low了,消耗时间而且以后非常难以维护,会让后面的开发人员骂死的。继承我们可以使用OOP的特性之一,继承的方式来解决这个问题。创建一个基类,在这个基类中添加统计方法,其他类都继承自这个基类。然而,这种方式修改还是很大,而且定制性很差。以后有新人加入之后,都要嘱咐其继承自这个基类,所以这种方式并不可取。Category我们可以为UIViewController建一个Category,然后在所有控制器中引入这个Category。当然我们也可以添加一个PCH文件,然后将这个Category添加到PCH文件中。我们创建一个Category来覆盖系统方法,系统会优先调用Category中的代码,然后在调用原类中的代码。我们可以通过下面的这段伪代码来看一下:importUIViewController+EventGather.himplementationUIViewController(EventGather)- (void)viewDidLoad NSLog(页面统计%,self) endMethod Swizzling我们可以使用苹果的“黑魔法”Method Swizzling,Method Swizzling本质上就是对IMP和SEL进行交换。Method Swizzling原理Method Swizzing是发生在运行时的,主要用于在运行时将两个Method进行交换,我们可以将Method Swizzling代码写到任何地方,但是只有在这段Method Swilzzling代码执行完毕之后互换才起作用。而且Method Swizzling也是iOS中AOP(面相切面编程)的一种实现方式,我们可以利用苹果这一特性来实现AOP编程。更多技术文章关注蓝鸥iOS培训资讯蓝鸥郑州iOS开发培训是业界口碑好iOS培训机构,培训期是四个月左右,四个月脱产班(脱产班顾名思义就是脱离生产,也就是不工作,全身心的学习,也就是全日制的学习),可以免费试听,蓝鸥的老师在行业里有3年以上工作项目经验的。目前iOS开发是非常有前景的职业方向,月薪维持在8k-10k,随着时间及经验的积累薪资待遇也逐渐提升(看个人技术、项目、开发、及管理水平,15k-20k的也大有人在),学生可选择全款学习亦可贷学费方式参加学习,工作之后2-3个月就有能力将学费还清。