-
Cocoapods创建私有库(一)
随着我们公司的业务的扩展,项目不断增加,由原来的学生端增加至家长端,老师端等项目组。可复用代码的需求越来越大,同时组件化管理等标准流程也开始正式应用起来了。目前组件化管理用的比较多的就是Cocoapods,将项目中底层的上课音视频层从项目代码中抽离出来,组装成SDK,供其他业务端调用。本篇博客是我在探索制作私有库制作过程中的一些心得记录,仅供参考。一.创建私有Spec Repo1.Spec Repo类似一个容器,里面装有所有公开的Pods,当使用Cocoapods后,他就会被clone到本...…
-
Cmd markdown
欢迎使用 Cmd Markdown 编辑阅读器我们理解您需要更便捷更高效的工具记录思想,整理笔记、知识,并将其中承载的价值传播给他人,Cmd Markdown 是我们给出的答案 —— 我们为记录思想和分享知识提供更专业的工具。 您可以使用 Cmd Markdown: 整理知识,学习笔记 发布日记,杂文,所见所想 撰写发布技术文稿(代码支持) 撰写发布学术论文(LaTeX 公式支持) 除了您现在看到的这个 Cmd Markdown 在线版本,您还可以前往以下网址...…
-
下架风波
从4月24日app被下架,到5月9日原应用重新恢复上架,掌门1对1辅导iOS版近2周的“下架风波”终于结束了。字体侵权3月20日左右,我们收到了苹果的警告邮件,说是我们的app存在字体库侵权。收到苹果的警告邮件之后,作为开发人员,我们不敢懈怠,一方面第一时间回复了邮件,并表达了立刻处理问题的态度。另一方面,告诉了公司的法务,尽快处理这件事情。然后此事就告一段落了。之后苹果和第三方公司又发邮件说,此事没有达成一致,法务说,正在积极沟通中(好吧,此事沟通速度也是。。,这也让苹果感受到了我们对此...…
-
iOS动画总结
CALayerCALayer简介在iOS系统中,能看见摸得着的东西基本上都是UIView,UIView是iOS系统中界面元素的基础,所有的界面元素都是继承自它。比如一个文本标签,一个按钮等等,这些都是UIView。其实UIView之所以能显示在屏幕上,完全是因为它内部的一个层。在创建UIView对象时,UIView内部会自动创建一个层(即CALayer对象),通过UIView的layer属性可以访问这个层。当UIView需要显示到屏幕上时,会调用drawRect:方法进行绘图,并且会将所有...…
-
多线程总结
iOS多线程的使用对于App性能优化有很重要的意义。使用线程可以把程序中占据时间长的任务放到后台去处理,如图片、视频的下载。发挥多核处理器的优势,并发执行让系统运行的更快、更流畅,用户体验更好。总结一下iOS里面常用的三种线程编程的技术。NSThread这种方案是经过苹果封装后的,并且完全面向对象的。可以直接操控线程对象,非常直观和方便。但是它的生命周期还是需要我们手动管理。使用NSThread创建有以下几种方式:1.创建一个NSTread类实例,然后调用start方法。NSThread*...…
-
iOS中懒加载的使用
当实例化一个对象需要耗费很多资源,或者配置一次就要调用很多配置相关的方法而你又不想弄乱这些方法时,我们需要重写 getter 方法以延迟实例化,而不是在 init 方法里给对象分配内存。运用懒加载可以很好的解决这一问题。所谓的懒加载也可称为:延时加载,即当对象需要用到的时候再去加载。(本质就是重写对象的get方法,当系统或开发者调用对象的get方法时,再去加载对象)。需要注意的是:重写get方法时,先判断对象当前是否为空,为空的话再去实例化对象。懒加载一般使用如下模板:- (NSDateF...…
-
从UIAlertView实现来看对象关联和ReactiveCocoa
开发ios时经常用到UIAlertView类,该类提供了一种标准视图,可向用户展示警告信息。当用户按下按钮关闭视图时,需要用视图协议来处理此动作,但是, 要想设置好这个委托机制,就得把创建警告视图和处理按钮动作的代码分开。由于代码分作两块,所以读起来有点乱(更可怕的是一个控制器里面出现多个UIAlertView),比方说我们使用 UIAlertView时,都会这么写:- (void)askUserAQuestion{UIAlertView *alert = [[UIAlertView al...…
-
iOS develop tips
iOS开发过程中,总有那么一些个小问题让人纠结,它们不会让程序崩溃,但是会让人崩溃1.返回输入键盘 <UITextFieldDelegate> - (BOOL)textFieldShouldReturn:(UITextField *)textField { [textField resignFirstResponder]; return YES; }2.CGRectCGRectFromString(<#NSString *string#>)//有字...…
-
优秀博文收集
整理如下收集了一些写的比较有针对性,并且写的很有参考性的文章,留着参考: IMP指针的作用 Runtime系列 iOS~runtime理解 runtime 完整总结 Objective-C Runtime Objective-C Runtime 运行时之一:类与对象 Objective-C Runtime 运行时之二:成员变量与属性 Objective-C Runtime 运行时之三:方法与...…
-
Mantle的初步使用
Mantle 是一个iOS模型框架,它可以简便的创建对象模型,当然也可以把模型转变成JSON,在处理远程接口时,这特别有用。 我们来看一看MTLModel, MTLJSONAdapter的实现,或许在你的下一个项目中,你会考虑使用Mantle.##MTLModelMTLModel提供了一种简单的方法来映射NSDictionary对象和Objective-C类,反之亦然。 开始之前,我们看一个简单的例子,假设我们得到以下从服务器返回来的JSON,我们想要创建和填充我们的(未设立)CATPro...…