摘要:
一、MVCMVC 全名 Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC 被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中... 阅读全文
摘要:
一、.a 文件静态库打包打开 Xcode 创建一个新的 Static Library 工程,取名 MyStaticLibrary。创建工程完毕后,系统自动创建了一个同名类,添加一个方法用于测试。#import @interface MyStaticLibrary : NSObject+ (void)test;@end@implementation MyStaticLibrary+ (void)te... 阅读全文
摘要:
一、继承 不恰当的使用继承导致的最大的一个特征就是高耦合。 是否使用继承需要考虑三个点: 父类只是给子类提供服务,并不涉及子类的业务逻辑 层级关系明显,功能划分清晰,父类和子类各做各的。 父类的所有变化,都需要在子类中体现,也就是说此时耦合已经成为需求 万不得已不要用继承,优先考虑组合等方式。 如果 阅读全文
摘要:
一、构建步骤创建一个动态库 MyDynamicFramework创建一个测试类在 MyDynamicFramework.h(默认生成,可统一暴露头文件) 中 #import "Person.h"#import //! Project version number for MyDynamicFramework.FOUNDATION_EXPORT double MyDynamicFrameworkVe... 阅读全文
摘要:
一、单例介绍单例:该类在程序运行期间有且仅有一个实例。1.1 单例模式的要点该类有且只有一个实例;该类必须能够自行创建这个实例;该类必须能够自行向整个系统提供这个实例。1.2 单例的主要优点单例可以保证系统中该类有且仅有一个实例,确保所有对象都访问这个唯一实例;因为类控制了实例化过程,所以类可以灵活更改实例化过程;基于第 1 条,对于项目中的个别场景的传值、存储状态等业务更加方便;可以节约系统资源... 阅读全文
摘要:
一、iOS 系统架构层次 在 iOS 中,框架是一个目录,包含了共享资源库,用于访问该资源库中储存的代码的头文件,以及图像、声音文件等其他资源。共享资源库定义应用程序可以调用的函数和方法。 iOS 为应用程序开发提供了许多可使用的框架,并构成 iOS 操作系统的层次架构,分为四层: Cocoa To 阅读全文
摘要:
一、前言一般可以将编程语言分为两种,编译语言和直译式语言。像 C++、Objective-C 都是编译语言。编译语言在执行的时候,必须先通过编译器生成机器码,机器码可以直接在 CPU 上执行,所以执行效率较高。像 JavaScript、Python 都是直译式语言。直译式语言不需要经过编译的过程,而是在执行的时候通过一个中间的解释器将代码解释为 CPU 可以执行的代码。所以,较编译语言来说,直译式... 阅读全文
摘要:
Objective C 中的 Category 是对装饰模式的一种具体实现。它的主要作用是在不改变原有类的前提下,动态地给这个类添加一些方法。 分类可以拓展类的属性、方法、协议等信息 一、使用场景 根据苹果官方文档对 Category 的描述,它的使用场景主要有三个: 1. 给现有的类添加方法; 2 阅读全文
摘要:
你不需要自己创建 CTRun。CoreText 将根据 NSAttributedString 的属性来自动创建 CTRun。每个 CTRun 对象对应不同的属性,正因此,你可以自由的控制字体、颜色、字间距等等信息。通常步聚:使用 core text 就是先有一个要显示的 string然后定义这个 string 每个部分的样式 attributedString生成 CTFramesetter得到 C... 阅读全文
摘要:
一、介绍在 MacOS 和 iOS 上,可执行程序的启动依赖于 xnu 内核进程运作和动态链接加载器 dyld。dyld 全称 the dynamic link editor,即动态链接器,其本质是 Mach-O 文件,是专门用来加载动态库的库。源码下载地址:https://opensource.apple.com/tarballs/dyld/当点击 App 的时候,系统在内核态完成一些必要配置,... 阅读全文