Builder模式 当我们在设计一个类时,我们期望类属性的值由外部调用者传入,但是我们希望这个值仅在初始化设置,在初始化之后外部调用者修改这个值会导致状态混乱。或者干脆
时间分为两个部分 T1(main前) + T2(main后), {T1:系统环境布局时间:创建进程,加载解析可执行文件(库加载,堆栈环境配置等等), T2:从main函数到第一个界面显示时间} 1 库
前言 第三方库是工程开发必不可少的部分,而第三方库可以是.a和.framework的静态库,也可以是.framework的动态库,其中静态库是最常用的方式。 静态库往往比较大,可在打包
引言 我们都知道,Runtime 是 Objective-C 这门动态语言的核心,只有理解了它,我们才能够更好的理解 Objective-C 到底是如何工作的,在编程时,也会更加得心应手。由于时
(点击 上方公众号 ,可快速关注) 转自:开源中国 TIOBE 近日发布了 4 月编程语言排行榜。 Ruby 曾获得 2006 年 TIOBE “年度编程语言” ,并在 2008 年达到了热度巅峰,
很多方法最后一个参数是类似于 completionBlock 这种回调,然而有些 API 实现一些异常逻辑时会忘记调用传入的 Block 参数(当然这肯定是 bug 啦),或者存在多次调用。在调
在面试的时候,我们会碰到 Block 相关的问题: MRC 下为什么要用 copy 修饰? 为什么 ARC 下就不要这样处理呢? ,所以打算把堆栈的内容和 Block 一起讲解。 堆栈存储域 堆
浅显地了解了一下 Go,发现 Go 语法的设计非常简洁,易于理解。正应了 Go 语言之父 Rob Pike 说的那句“ Less is more ”—— 大道至简。 下面就具体的语法特性说说我自己
直接从例子开始讲起。 例如 NSURL 的 URLWithString: 方法,通过它来创建 NSURL 时,如果输入的参数不合法,会导致创建出来的对象为 nil,从而导致后面的程序异常。 当然,