简介
AppleScript是苹果公司开发的一种脚本语言,可以用来控制运行于mac实现自动化的有效工具,他通过类英语的语法,以及简单的编程功能,帮助你摆脱机械化的劳动。
AppleScript 包括如下三部分:
- AppleScript 语言
- AppleScript 脚本文件
- AppleScript 脚本解释器
iOS 有三种多线程编程的技术,分别是:
三种方式的优缺点介绍:
NSThread
优点:NSThread 比其他两个轻量级
缺点:需要自己管理线程的生命周期,线程同步。线程同步对数据的加锁会有一定的系统开销
NSThread实现的技术有下面三种:(一般使用cocoa thread)
Cocoa NSOperation
优点:不需要关心线程管理,数据同步的事情,可以把精力放在自己需要执行的操作上。
Cocoa operation 相关的类是 NSOperation ,NSOperationQueue。
NSOperation是个抽象类,使用它必须用它的子类,可以实现它或者使用它定义好的两个子类:NSInvocationOperation 和 NSBlockOperation。
创建NSOperation子类的对象,把对象添加到NSOperationQueue队列里执行。
GCD
Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法。在iOS4.0开始之后才能使用。GCD是一个替代诸如NSThread, NSOperationQueue, NSInvocationOperation等技术的很高效和强大的技术。现在的iOS系统都升级到7了,所以不用担心该技术不能使用。
介绍完这三种多线程编程方式,本文将依次介绍这三种技术的使用。
封装 继承 多态
一个类封装了数据以及操作数据的代码逻辑体。定义了数据的可访问属性(私有、公有)
可以让一个类型获取另外一个类型的属性的方式。分为实现继承和接口继承
类实例的一个方法在不同情形下有不同的表现形式,即不同的外在行为。使具有不同的内部结构的对象可以共享相同的外部接口。
单一 依赖 最少 开闭 替换 隔离 组合/聚合
1 | 1. 单一职责原则(Single Responsibility Principle) |
Objective-C 扩展了 C 语言,并加入了面向对象特性和 Smalltalk 式的消息传递机制。而这个扩展的核心是一个用 C 和 编译语言 写的 Runtime 库。它是 Objective-C 面向对象和动态机制的基石。
Objective-C 是一个动态语言,这意味着它不仅需要一个编译器,也需要一个运行时系统来动态得创建类和对象、进行消息传递和转发。理解 Objective-C 的 Runtime 机制可以帮我们更好的了解这个语言,适当的时候还能对语言进行扩展,从系统层面解决项目中的一些设计或技术问题。了解 Runtime ,要先了解它的核心 - 消息传递 (Messaging)。
Runtime其实有两个版本: “modern” 和 “legacy”。我们现在用的 Objective-C 2.0 采用的是现行 (Modern) 版的 Runtime 系统,只能运行在 iOS 和 macOS 10.5 之后的 64 位程序中。而 macOS 较老的32位程序仍采用 Objective-C 1 中的(早期)Legacy 版本的 Runtime 系统。这两个版本最大的区别在于当你更改一个类的实例变量的布局时,在早期版本中你需要重新编译它的子类,而现行版就不需要。
Runtime 基本是用 C 和汇编写的,可见苹果为了动态系统的高效而作出的努力。你可以在这里下到苹果维护的开源代码。苹果和GNU各自维护一个开源的 Runtime 版本,这两个版本之间都在努力的保持一致。
mac 系统软件有保护,要关闭SIP(System Integrity Protection 系统完整性保护),然后就可以删除了。
步骤1:command+r 进入恢复模式 然后打开终端输入命令:
1 | csrutil disable 关闭SIP, 可允许删除系统软件 |
步骤2:
现在重启后可以删除 系统软件啦 😁