小编Nic*_*ell的帖子

Swift 4:Strings引用计数以及如何计算

此性能优化WWDC视频表明字符串是引用计数的,因为它们在堆上.这对使用Strings的结构的性能以及Swift 4中是否有某些变化有影响(现在Strings又是集合 - 带有写入时的副本).好奇如何证明这一点并获得实际计数. CFGetRetainCount - 不适用于字符串.

请参阅https://developer.apple.com/videos/play/wwdc2016/416/

在此输入图像描述

使用Swift 4.

string optimization performance reference-counting swift

6
推荐指数
1
解决办法
365
查看次数

Github允许某些特定的非管理员用户将更改推送到受保护的分支,在此分支中所有其他用途都必须创建拉取请求

这是针对Jenkins的,我不想让Jenkins用户作为Github管理员,但我希望它向内部版本号添加1(对于iOS,它恰好在info.plist中)commit +将其作为我们内部版本的一部分处理。将编号加1是容易的事情。

但是,我通常希望所有用户都被迫在此分支上创建请求请求,并使该分支受到保护。

如果我将jenkins用户(下面的nickm01)添加到“允许推送到分支”列表中,则该用户似乎仍必须创建一个pull请求来推送提交。

如何配置不同的东西?

请参阅下面的分支设置。不幸的是,我们的詹金斯用户“ nickm01”仍然必须创建PR才能推动更改。

在此处输入图片说明

github

5
推荐指数
0
解决办法
306
查看次数

Fastlane 扫描显示零单元测试

运行 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 unit-testing ios fastlane

5
推荐指数
0
解决办法
647
查看次数

xcode7没有显示模拟器iOS 9.0目标选项

安装了Xcode 7 beta.无法运行任何代码,因为Xcode似乎只允许我选择"iOS设备"目的地,而不是我通常所期望的任何SIM设备.该项目设置为iOS 9.0目标和Universal.这是一个基本的新项目.

这是我试过的:

  1. 将目标更改为iOS 8.0,然后我看到了sim设备.但我想运行iOS 9.0
  2. Xcode菜单>首选项>下载>仅查看iOS 8.3,8.2可下载...不要看到iOS 9.0的提及
  3. Xcode菜单>打开开发人员工具.请参阅iOS模拟器和iOS模拟器(Watch)的选项.如果我打开iOS模拟器(而不是手表),它会打开iOS模拟器9.0但运行手表
  4. 所以看起来像是安装了iOS 9模拟器但仅适用于手表.奇.
  5. Xcode菜单>首选项>位置>将命令行工具切换到Xcode 7.0

ios-simulator xcode7

4
推荐指数
1
解决办法
6686
查看次数

Swift 4中更简单的字符串切片

Swift 4改变了字符串的工作方式.但是,似乎更复杂,更不易阅读.任何人都可以简化这个例子(简单地将String的第三个字母作为字符串)?(除了拆分线外.)

let myString="abc"
let thirdLetter = String(myString[myString.index(myString.startIndex, offsetBy: 2)])
Run Code Online (Sandbox Code Playgroud)

string substring swift swift4

3
推荐指数
1
解决办法
1510
查看次数

更改约束时的UITableView会在出列后影响单元格的高度,最终会出现破坏的约束

此代码块试图找到问题的核心.如果在使单元格(通过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)

constraints uitableview ios swift

2
推荐指数
1
解决办法
3031
查看次数