SwiftTips(一)

最新1年的Swift小Tip与一些建议阅读源码或者使用到项目中的开源库

开源项目
关于Swift下JSON解析库的分析图

如何像安卓一样方便的使用R加载资源文件

https://github.com/mac-cain13/R.swift

做好代码规范从编写开始-swiftlint

swiftlint autocorrect <项目在Github中搜索即可>

Swift zip

zip(arr1, arr2) 输出一个 元祖数组 [(arr1[0], arr2[0]), (…), (…)]

添加弃用信息

@available(*, deprecated, message: “no longer available …”)

获取系统信息,诸如版本之类的-NSProcessInfo
1
2
let os = ProcessInfo().operatingSystemVersion
let info = "\(os.majorVersion).\(os.minorVersion).\(os.patchVersion)"

并且这样判断版本

1
2
3
4
5
if #available(iOS 10.0, *) {
Push.registeNotification()
} else {
Pusher.registeNotification()
}
使用discardableResult设置可以忽略返回值
1
2
3
4
5
6
7
8
9
@discardableResult
public func data(to identifier: String, with parameter: Any?, _ handler: PNRouteCallBack?) ->Bool{
guard let hand = dataing[identifier] else {
return false
}
hand(parameter, handler)
return true
}
更加清晰的Git工作流程

首先应当创建新的分支

1
git checkout -b dylan

在结束自己的工作之后,提交到本地

1
2
git add .
git commit -m “Fixed some quesitons“

如果需要提交多行文本,使用

1
git commit -m '

回车后即可输入,结束使用'。接下来获取最新的主分支动态,并合并到我们当前已经修改的分支上

1
2
git fetch origin
git rebase origin/master

做一些操作,比如说合并提交信息:

1
git rebase -i origin/master

提交到自己的分支

1
git push origin dylan

发起pull request,由负责人进行代码review:

1
2
git checkout 提交者的分支
git diff 提交者/master..HEAD

合并代码到主开发分支上:

1
2
git fetch origin
git rebase -i origin/master

推送:

1
2
3
4
5
6
git push —force-with-lease origin master
git log origin/master..<branch-name>
git diff --stat origin/master
git checkout master
git merge <branch-name> --ff-only
git push

删除开发分支:

1
2
git push origin --delete <branch-name>
git branch --delete <branch-name>

这样一次开发的Git操作就完美的结束了,另外附上一些常用的git命令:

1
2
3
4
5
git checkout . #本地所有修改的。没有的提交的,都返回到原来的状态
git stash #把所有没有提交的修改暂存到stash里面。可用git stash pop回复。
git reset --hard HASH #返回到某个节点,不保留修改。
git reset --soft HASH #返回到某个节点。保留修改
git push origin master -f 强制覆盖
最近的看到的iOS版本占比图

所以强烈建议大家开始从iOS8.0进行系统支撑,这并没有问题。

常用语

在Git Hub你提交给其他开源库的pull request被merge之后,请对项目拥有者说:

1
Pure awesomeness, thanks a lot!
结尾
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
什么叫价值?
同是两根竹子,
一支做成了笛子,
一支做成了晾衣杠。
晾衣杠不服气的问笛子:
“我们都是同一片山上的竹子,
凭什么我天天日晒雨淋,不值一文,
而你却价值千金呢?”
笛子:”因为你只挨了一刀,
而我却经历了千刀万剐,精雕细做。”
晾衣杠此时沉默了……
人生亦是如此,经得起打磨,
耐得起寂寞,扛得起责任,
肩负起使命!人生才会有价值!

现在碎片化知识已经出现在各个角落,人们对于碎片化知识的汲取到底是对还是错呢?总之我是赞成的,当然我也更赞成如果你有足够的时间,请系统化的了解、深入的了解。

评论