Cmb Blog

一生想做浪漫极客

Swift 中类的两段式构造

swift-two-phase-initialization

两段式构造 第一阶段: 程序调用子类的某个构造器 为实例分配内存, 此时实例的内存还没有被初始化 指定构造器确保子类定义的所有实例存储属性都已被赋初值 指定构造器将调用父类的构造器, 完成父类定义的实例存储属性的初始化 沿着调用父类构造器的构造器链一直往上执行, 直到到达构造器链的最顶部 第二阶段: 沿着继承树往下, 构造器此时可以修改实例属性和访问se...

iOS 中静态链接库的使用

how-to-use-static-library-in-ios

什么是编译库 与 Java , .net 一样,objc 中也是有编译库的概念,主要用于 SDK (如百度地图SDK),库是编译后的二进制文件,主要是开发一些接口给开发者使用,而这种接口的实现却不能暴露的场景。 编译库的分类 静态库: .a 文件:纯二进制文件,需要配合 .h 文件一起使用,通过 .h 文件引用库里面的内容 .framework 文...

iOS 性能调优

ios-performance-optimization

影响 APP 的底层机制,主要是 CPU , GPU 的占用率和内存的使用率, APP 主线程在 CPU 中,计算显示内容,比如视图的创建,布局,图片解码,文件绘制等,计算完这些东西后交给 GPU 把结果提交到帧缓冲区去,等待下一次 垂直 信号到来时显示到屏幕上。由于垂直同步的机制,如果在一个 VSync 时间内,CPU 或者 GPU 没有完成内容提交,则那一帧就会被丢弃,等待下一次机会再...

聊聊「物联网云平台IoT」—— 行业与战略

聊聊物联网云平台行业与老东家的产品思路

本篇为该系列第一篇 —— 行业与战略,让我们聊聊行业、战略与格局。 #前言 近几年,互联网产品从线上斗到了线下,互联网行业和传统行业的跨界融合屡见不鲜,“渗透传统行业”几乎成为了全行业下一轮创新的标配,2015年的新词“互联网+”也应运而生: 将互联网行业的生产要素,深度融入经济、社会等各个领域,尝试改变一些传统的实体经济行业,创造出新的产品形态、商业模式和生态 其实...

Swift 3.0 的自动默认(auto-defaulting)实参

Swift 3 中允许了导入 APIs 来定义很多实参,所以在 Swift 中调用时,你可以省略一些参数的定义

作者:Erica Sadun,原文链接,原文日期:2016-04-11 译者:CMB;校对:shanks;定稿:千叶知风 我最近发布的文章 《准备好迎接 3.0 API 变化》 得到了一些很有趣的反馈。最近发布了一些有关 Swift 3 提议的文章,特别是关于 SE-0005 , 这些文章中解释了在 Swift 中 ObjC APIs 是如何自动转换的,也说明了这些转换在 Sw...

iOS 中 ARC 下 block 的循环引用

ios-arc-block-retain-cycle

在 iOS4.2 时, Apple 推出 ARC 的内存管理机制。这是一种编译期的内存管理方式,在编译期间,编译器会判断对象的使用情况,并适当的加上 retain 和 release ,使得对象的内存被合理的管理。所以,从本质上说 ARC 和 MRC 在本质上是一样的,都是通过引用计数的内存管理方式。 使用 ARC 虽然可以简化内存管理,但是 ARC 并不是万能的,有些情况程序为了能够正常...

iOS 中使用模板引擎渲染 HTML 界面

ios-html-template-engine

在 iOS 实际的开发中,使用 UIWebView 来加载数据使用的场景特别多。很多时候我们会动态的从服务器获取一段 HTML 的内容,然后 App 这边动态的处理这段 HTML 内容用于展示在 UIWebView 上。使用到的 API 接口为: - (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL; 由...

React vs Angular 2:冰与火之歌「转」

React versus Angular 2: There Will Be Blood

这篇文章转载自黄玄在知乎专栏「前端外刊评论」上发表的文章。 Angular 2 已经发布 Beta 版,而且似乎很有信心在 2016 年成为热门框架。是时候进行一场巅峰对决了,我们来看看它如何与 React 这个 2015 年的新宠抗衡。 免责声明:我之前很喜欢使用 Angular 1,不过在 2015 年转到了 React。最近我也在 Pluralsight 上发布了一门关于 ...

更加 Swift 化的 Collection View 和 Table View Cells

Being-Swifty-With-Collection-View-And-Table-View-Cells

作者:Jameson Quave,原文链接,原文日期:2015/12/28 译者:CMB;校对:Cee;定稿:千叶知风 这是一个常见的场景:你有一个 tableView 或者一个 collectionView,并且里面含有大量不同种类的内容。你想做到基于不同种类的内容而展示不一样的 cell ,而且这些 cell 都混合在同一个部件里(原谅我站在艺术的角度去设计),它看起来就如...

Swift 中集合与字典的角逐

Sets_vs_Dictionaries_smackdown_in_swiftlang

作者:Erica Sadun,原文链接,原文日期:2015-10-19 译者:CMB;校对:Cee;定稿:千叶知风 传统的 Cocoa 在使用字典时有个不好的习惯。无论是用户信息还是字体选项亦或是视频流(AVFundation)设置,NSDictionary 一直担任 Cocoa 传递数据的角色。字典是灵活的、易用的,但它也存在诸多潜在的危险。 在这篇文章中,我将讨论另一种更...