由于种种原因,简书等第三方平台博客不再保证能够同步更新,欢迎移步 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
![](https://img.haomeiwen.com/i227002/96c216ba53a2a366.png)
- Target 意为「靶子;目标」。在 iOS 项目中,一个 Target 可以表示可执行程序(*.app)或库(.framework),并为构建系统组织输入。
- 一个 Project 可以有一个或多个 Target,每个 Target 生成一个产品(Product)。
- Target 继承了 Project 的构造设置,但也可以在 Target 范围定制不同的设置,每次只有能一个活跃的 Target,Xcode Scheme 指定活跃的 Target。
Scheme
![](https://img.haomeiwen.com/i227002/2db31f5091476a33.png)
- 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。
![](https://img.haomeiwen.com/i227002/ca78f2fdf06abbb2.png)
![](https://img.haomeiwen.com/i227002/d7247e2846085ed6.png)
![](https://img.haomeiwen.com/i227002/0a5b4d11cbfcaf9f.png)
选择 Cocoa Touch Framework。
![](https://img.haomeiwen.com/i227002/1aa4093088b2f276.png)
如图,即为建立的 Module(此处建立两个方便后续测试访问控制修饰符)。
![](https://img.haomeiwen.com/i227002/44fd62c72d65a3c9.png)
使用时,import ModuleA
即可。
网友评论