由于种种原因,简书等第三方平台博客不再保证能够同步更新,欢迎移步 GitHub:https://github.com/kingcos/Perspective/。谢谢!
Access Control Prerequisite Article
- Info:
- macOS 10.12.1 Beta 3
- Xcode 8.1 Beta 3
UPDATE
泊学 Target & Scheme
Target
- Target 意为「靶子;目标」。在 iOS 项目中,一个 Target 可以表示可执行程序(*.app)或库(.framework),并为构建系统组织输入。
- 一个 Project 可以有一个或多个 Target,每个 Target 生成一个产品(Product)。
- Target 继承了 Project 的构造设置,但也可以在 Target 范围定制不同的设置,每次只有能一个活跃的 Target,Xcode Scheme 指定活跃的 Target。
Scheme
- Scheme 定义了一系列要构建的 Target,定义了一个构件时配置,定义了一系列需要运行的测试。
- Scheme 可以有多个,但每次只能有一个活跃。
Swifter-Tips 命名空间
在 Swift 中,命名空间是基于每个 Module(Target)的。当我们需要跨 Module 访问时(Module 中的类型需设置为 public),可以以 Module(Target)名 + .
+ 属性名来访问。
// 主 Target
let a: ModuleA.File = ModuleA.File("test.md")
print(a.filename)
// ModuleA - File.swift
public class File {
public var filename: String
public init(_ filename: String) {
self.filename = filename
}
}
前言
Module,中文译为「标准部件;模块」。iOS 中的 Module 类似于 Java 中的 Jar 包,也可以称作第三方库,或者框架(Framework)。Swift 中的访问控制就涉及到了不同 Module 下的情况,因此简单记录下如何在 iOS 项目中新建 Module。
Demo
首先建立一个 iOS Single View Application。
选择 File-New-Target。
选择 Cocoa Touch Framework。
如图,即为建立的 Module(此处建立两个方便后续测试访问控制修饰符)。
使用时,import ModuleA
即可。