小编Ale*_*erg的帖子

在导航堆栈中跳过/添加视图控制器

我在导航控制器中嵌入了三个视图控制器.我想从VC1转到VC3,这样在VC3中导航项的后退按钮会将用户引导到VC2而不是VC1.我认为这应该通过创建VC3将VC2添加到VC1和VC3之间的导航堆栈跳过第二个View Controller来完成.

我试过这个:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if let identifier = segue.identifier {
        switch identifier {
        case "JumpToThirdVCSegue":
            if let secondvc = segue.destinationViewController as? SecondViewController {
                secondvc.performSegueWithIdentifier("ThirdVCSegue", sender: self)
            }
        default: break
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但我无法让它发挥作用.当View Controller尚未打开时,可能无法执行segue?

在导航堆栈中跳过View Controller /添加View Controller的最佳方法是什么?我希望这可以帮助你理解我正在做的事情:

uinavigationcontroller ios swift

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

无中断空间导致Xcode出现问题

通常当我在Xcode中编码时,我会在方括号或花括号之前或之后键入不间断空格(Option + Space/Option + Shift + Space).这导致Xcode发出警告:

invalid character in source file
Run Code Online (Sandbox Code Playgroud)

有没有办法防止这种行为,因为它真的很烦人,很少需要?我试图在Xcode菜单和Google中寻找答案,但没有找到任何正确的答案.

unicode xcode

8
推荐指数
1
解决办法
1317
查看次数

在数据库中获得关系计数的有效方法

我想知道在多对多关系中获取相关实体数量的最佳方法是什么.假设我的数据模型看起来像这样(简化),我想知道每辆公交车的乘客数量:

数据模型

目前我可以想到两个选择:

  1. 向名为passengerCount的总线实体添加额外属性,每次添加/删除乘客时都会更新该属性.

  2. 每次需要显示乘客数量时,都是通过取得乘客并显示他们的计数来完成的.

我的两个选项看起来效率都很低,即使我不知道用核心数据更新/获取值有多重.例如,假设为每个表视图单元格执行数字2.

我的问题是:最好的方法是什么?NSManagedObject类中的方法可能(我找不到)或其他更有效的方法?

core-data nsmanagedobject ios swift

5
推荐指数
1
解决办法
444
查看次数

在Swift中格式化字符串

在某些语言中,例如C#,您可以通过以下方式创建字符串:

"String {0} formatted {1} "
Run Code Online (Sandbox Code Playgroud)

然后String.format通过传递值来格式化它.

上面的声明是好的,因为您在创建字符串时不必知道其参数的类型.

我试图在Swift中找到类似的方法,但我发现的东西类似于以下格式:

"String %d formatted %d"
Run Code Online (Sandbox Code Playgroud)

这需要您使用格式化字符串String(format: , parameters).这不好,因为在声明字符串时你还必须知道参数类型.

在Swift中是否有类似的方法,我不必知道参数类型?

string formatting ios swift

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

从CGPoint到段的最短距离

我一直在尝试将Douglas-Peucker算法应用到我的代码中,我能够将伪代码转换为Swift,除了shortestDistanceToSegment函数.只有我能找到的Swift版本才能在这里得到解答,但我不明白它实际上是做什么的.

我需要一个函数,它获得三个点作为参数(点和线的两端)并返回CGPoint和线段之间的最短距离.关于代码做什么(和为什么)的一些解释很好但不是必要的.

line cgpoint swift

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