小编Byr*_*see的帖子

减少Swift中的括号数量

有没有人知道是否有办法在swift中使用某种速记?更具体地说,在诸如IF语句之类的东西中省略括号......例如

if num == 0
  // Do something
Run Code Online (Sandbox Code Playgroud)

代替

if num == 0
{
  // Do something
}
Run Code Online (Sandbox Code Playgroud)

当你有几个嵌套的IF时,那些括号变得相当耗费空间.

PS.我知道我可以做到以下几点:

if num == 0 {
  // Do something }
Run Code Online (Sandbox Code Playgroud)

但是,如果可能的话,我仍然很好奇

shorthand swift

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

快速的时间比较

题:

我需要比较2次 - 当前时间和一组.如果设定的时间是将来,请查看剩余的时间,直到所述未来时间.

其他信息:

我目前正在使用

let date = NSDate()
let calendar = NSCalendar.currentCalendar()
let components = calendar.components(.CalendarUnitHour | .CalendarUnitMinute, fromDate: date)
let hour = components.hour
let minutes = components.minute
Run Code Online (Sandbox Code Playgroud)

我从SO的另一个答案中偷走了如何以Int格式获取当前时间.然后我将未来的时间分成小时(Int)和分钟(Int)并比较那些......但是当你超过小时障碍时,这会变得奇怪.

ios swift

10
推荐指数
3
解决办法
2万
查看次数

带有自定义边框的 UITextField 上的浮动 UILabel

我基本上试图创建一个UITextField,当用户输入某些内容时,它会在UILabel顶部边框上显示占位符文本。

我已经设法使UILabel动画和所有内容就位,除了当我给它(边框)自定义颜色和宽度时,它UITextField的边框穿过。UILabel如果我离开标准RoundedRect边框,而不给出borderColorborderWidth,那么一切都会完美运行。不过我需要颜色:/

(忽略红色背景 - 这样做是为了可见性)

自定义 borderColor 通过标签 自定义 borderColor 通过标签

这是没有自定义边框的(请参阅 - 没有边框UILabel

标准圆角矩形边框

所以是的 - 任何帮助将不胜感激。谢谢

uitextfield uilabel ios

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

优先队列迅速

我正在尝试实现Dijkstra算法的一个版本,以找到总线从开始到结束的最短路径.不幸的是,我似乎无法找到一个库或swift提供一种优先级队列的其他方式,因此我似乎必须编写自己的代码.

话虽这么说,有人能指出我正确的方向吗?

目前我的想法如下:

写一个将保存优先级数组的类.在这个类中,将有一个接收值的方法,将其添加到优先级数组,然后根据优先级(在这种情况下,距离)对其进行排序.还将有一个get函数,它返回数组中最高优先级的项.

我想知道在理解优先级队列时我是否接近或离开了.

谢谢.

编辑:

到目前为止这是我的代码.似乎太短暂和残酷......我必须在概念方面遗漏一些东西.

var priorityQueue = Dictionary<String, Int>()
var firstElement: String = ""

func push(name: String, distance: Int)
{
    priorityQueue[name] = distance
    var myArr = Array(priorityQueue.keys)
    var sortedKeys = sort(myArr) {
        var obj1 = self.priorityQueue[$0] // get obj associated w/ key 1
        var obj2 = self.priorityQueue[$1] // get obj associated w/ key 2
        return obj1 > obj2
    }

    firstElement = myArr[0]
    var tempPriorityQueue = Dictionary<String, Int>()
    for val in myArr
    {
        tempPriorityQueue[val] = priorityQueue[val]
    } …
Run Code Online (Sandbox Code Playgroud)

algorithm priority-queue swift

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