有没有人知道是否有办法在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)
但是,如果可能的话,我仍然很好奇
题:
我需要比较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)并比较那些......但是当你超过小时障碍时,这会变得奇怪.
我基本上试图创建一个UITextField,当用户输入某些内容时,它会在UILabel顶部边框上显示占位符文本。
我已经设法使UILabel动画和所有内容就位,除了当我给它(边框)自定义颜色和宽度时,它UITextField的边框穿过。UILabel如果我离开标准RoundedRect边框,而不给出borderColor或borderWidth,那么一切都会完美运行。不过我需要颜色:/
(忽略红色背景 - 这样做是为了可见性)
这是没有自定义边框的(请参阅 - 没有边框UILabel)
所以是的 - 任何帮助将不胜感激。谢谢
我正在尝试实现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)