1. 运算符的重载
1.1 基本运算符的重载
1 | func * (lhs: String, rhs: Int) -> String { |
如上所示,我们重载了运算符 *
。再看看另一个例子:
1 | struct Vector2D { |
我们定义了如上的结构体,如果想把两个 Vector2D
类型的实例相加,编译器是会报错的。如果我们重载操作符 +
,就可以实现相加:
1 | func + (lhs: Vector2D, rhs: Vector2D) -> Vector2D { |
1 | func * (lhs: String, rhs: Int) -> String { |
如上所示,我们重载了运算符 *
。再看看另一个例子:
1 | struct Vector2D { |
我们定义了如上的结构体,如果想把两个 Vector2D
类型的实例相加,编译器是会报错的。如果我们重载操作符 +
,就可以实现相加:
1 | func + (lhs: Vector2D, rhs: Vector2D) -> Vector2D { |
1 | pod trunk register 邮箱地址 用户名 --verbose |
pod trunk me
查看账号信息和发布过的库这里存放的是需要共享的内容,也就是别人通过 pod
安装得到的源码,.podspec
文件中的 source_files
指定的就是这个共享文件夹的路径
如果你的公有库是放在 GitHub 上托管,可以将工程上传以后,直接在网页给工程添加 LICENSE
文件,GitHub 会自动给出开源协议的可选项,一般选择 MIT
Build Phases
,点击 +
,添加 New Run Script Phase
,添加如下内容:
1 | TAGS="TODO:|FIXME:" |
在代码处添加如下标记:1
2// TODO: something to do
// FIXME: fix bug
编译器会自动给出相应的警告,并且可以快速定位到相应的代码处。
Charles 版本:4.2
proxy - SSL Proxying Settings - SSL Proxying - Add
,Host
填写 *
,Port
填写 443
通用 - 关于本机 - 证书信任设置
,信任对应的证书Charles.app
右键显示包内容,打开 info.plist
,添加 vmoption
字段,设置对应的值为 -Dfile.encoding=UTF-8
open
:可以在任何地方访问、继承和重写
public
:可以在任何地方被访问,在其他模块不能被继承和重写
internal
:默认访问级别,在整个模块内都可以被访问
fileprivate
:可以在同一个文件内被访问、继承和重写
private
:只能在本类访问和使用,不包括扩展类
fallthrough
:Swift 中的 switch 语句可以省略 break,满足条件直接跳出循环。fallthrough 则具有贯穿作用,会继续执行后续的 case,直到碰到 break 或 default 才跳出循环。
1 | switch integerToDescribe { |
原因: Info.plist 文件找不到了,可能是被删除了或是被移动了。
解决方法:
按照下面的顺序找到 info.plist File ,修改成 info.plist 的实际路径即可。1
targets --> Build Settings -->搜索 Info.plist --> Packaging -> info.plist File
选择任意一个 Storyboard ,Editor -> Automatically Refresh Views
, 关闭这个选项即可。
不知道为啥油管会推荐这部片子给我,难道因为我之前看了《大军师司马懿》?顺便说一句,YouTube是当今世界最懂人的视频网站,它背后的算法总能把你喜欢的视频呈现给你,而且让你沉迷于其中一个接一个的推荐视频。
看到这部片子豆瓣评分8.4分,点进去看,一开始以为是个电视剧,没想到是部颇为值得一看的纪录片。
读书的时候,政史地一直是我的薄弱项。至今我对中国的历史年表还搞不清顺序,我是抱着补充历史知识的念头去看的,也确实收获不少。