此性能优化WWDC视频表明字符串是引用计数的,因为它们在堆上.这对使用Strings的结构的性能以及Swift 4中是否有某些变化有影响(现在Strings又是集合 - 带有写入时的副本).好奇如何证明这一点并获得实际计数. CFGetRetainCount
- 不适用于字符串.
请参阅https://developer.apple.com/videos/play/wwdc2016/416/
使用Swift 4.
这是针对Jenkins的,我不想让Jenkins用户作为Github管理员,但我希望它向内部版本号添加1(对于iOS,它恰好在info.plist中)commit +将其作为我们内部版本的一部分处理。将编号加1是容易的事情。
但是,我通常希望所有用户都被迫在此分支上创建请求请求,并使该分支受到保护。
如果我将jenkins用户(下面的nickm01)添加到“允许推送到分支”列表中,则该用户似乎仍必须创建一个pull请求来推送提交。
如何配置不同的东西?
请参阅下面的分支设置。不幸的是,我们的詹金斯用户“ nickm01”仍然必须创建PR才能推动更改。
运行 fastlane scan 来运行一个非常简单的单元测试。当我在单元测试中强制出错时,它失败了。当我“强制通过”测试时,它成功了。所以整体的成功/失败是有效的。但是,它似乎将结果报告为在终端中以及当我将结果输出到 slack 时的测试次数为零。
Xcode 可以正常运行测试并正确报告结果。
fastfile 脚本如下:
run_tests(
workspace: "xxx.xcworkspace",
scheme: "UnitTests",
device: "iPhone 8",
clean: true,
slack_url: "xxx",
slack_channel: "#xxx-developers"
)
Run Code Online (Sandbox Code Playgroud)
安装了Xcode 7 beta.无法运行任何代码,因为Xcode似乎只允许我选择"iOS设备"目的地,而不是我通常所期望的任何SIM设备.该项目设置为iOS 9.0目标和Universal.这是一个基本的新项目.
这是我试过的:
Swift 4改变了字符串的工作方式.但是,似乎更复杂,更不易阅读.任何人都可以简化这个例子(简单地将String的第三个字母作为字符串)?(除了拆分线外.)
let myString="abc"
let thirdLetter = String(myString[myString.index(myString.startIndex, offsetBy: 2)])
Run Code Online (Sandbox Code Playgroud) 此代码块试图找到问题的核心.如果在使单元格(通过configure
)出列后,更改了约束以便更改单元格高度,那么最终会出现一个损坏的约束警告(Unable to simultaneously satisfy constraints
...).但是,它显示正确.
import UIKit
class ViewController: UIViewController {
@IBOutlet var tableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
tableView.delegate = self
tableView.dataSource = self
tableView.registerClass(Cell.self, forCellReuseIdentifier: "cell")
tableView.estimatedRowHeight = 55.0
tableView.rowHeight = UITableViewAutomaticDimension
}
}
extension ViewController: UITableViewDelegate, UITableViewDataSource {
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return array.count
}
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell") …
Run Code Online (Sandbox Code Playgroud) swift ×3
ios ×2
string ×2
constraints ×1
fastlane ×1
github ×1
optimization ×1
performance ×1
substring ×1
swift4 ×1
uitableview ×1
unit-testing ×1
xcode ×1
xcode7 ×1