Tag: 迅速

在Swift中使用NSTimer

在这种情况下,timerFunc()永远不会被调用。 我错过了什么? class AppDelegate: NSObject, NSApplicationDelegate { var myTimer: NSTimer? = nil func timerFunc() { println("timerFunc()") } func applicationDidFinishLaunching(aNotification: NSNotification?) { myTimer = NSTimer(timeInterval: 5.0, target: self, selector:"timerFunc", userInfo: nil, repeats: true) } }

在NSDictionary中检测一个Null值

我有一个从API服务器的JSON响应填充的NSDictionary 。 有时这个字典中的键的值是Null 我正在尝试将给定的值放到表格单元格的细节文本中进行显示。 问题是,当我试图强制NSString的价值,我得到一个崩溃,我认为是因为我试图强制Null到一个string。 什么是正确的方法来做到这一点? 我想要做的是这样的: cell.detailTextLabel.text = sensor.objectForKey( "latestValue" ) as NSString 这里是一个字典的例子: Printing description of sensor: { "created_at" = "2012-10-10T22:19:50.501-07:00"; desc = "<null>"; id = 2; "latest_value" = "<null>"; name = "AC Vent Temp"; "sensor_type" = temp; slug = "ac-vent-temp"; "updated_at" = "2013-11-17T15:34:27.495-07:00"; } 如果我只是需要在条件中包装所有这一切,那很好。 我只是无法弄清楚有什么条件。 回到Objective-C世界,我会比较[NSNull null]但似乎并没有在Swift中工作。

强迫在同一行代码中可选访问的解包variables是否安全?

someFunction(completion: { [weak self] in self?.variable = self!.otherVariable }) 这总是安全吗? 我在声明的开始部分访问可选self ,并且亲自假设如果self nil ,则此声明的第二部分将永远不会执行。 这是真的? 如果self确实是nil ,第二部分将永远不会发生? 在这段单行代码中, self不会被“扼杀”的呢?

为什么在swift中没有存储types属性?

通过Swift编程语言,我惊讶地发现,与结构和枚举不同,类不支持存储的types属性。 这是其他面向对象语言的一个共同特征,所以我认为他们决定不允许这样做是有原因的。 但是我无法猜测这是什么原因,特别是在结构(和枚举)有它们的情况下。 难道仅仅是Swift的早期版本,而且还没有实现呢? 还是有语言devise决定背后的深层原因? 顺便说一句,“存储types属性”是Swift的术语。 在其他语言中,这些可能被称为类variables。 示例代码: struct FooStruct { static var storedTypeProp = "struct stored property is OK" } FooStruct.storedTypeProp // evaluates to "struct stored property is OK" class FooClass { class var computedClassProp: String { return "computed class property is OK" } // class var storedClassProp = "class property not OK" // […]

Swift是否会编译为本地代码?

简单的问题,但是在目前的开发者文档中似乎没有直接的答案。 Swift是否可以编译为机器语言(即汇编),还是编译成某种中间forms,然后在虚拟机上运行? (我怀疑它确实存在,但是对于苹果世界的发展不熟悉,我不知道它对于某个人来说可能是这样)。

从正在closures的实例属性中访问自己

我使用的是Xcode6-beta2,但自从第一次公开testing以来,我遇到了同样的问题。 我的Obj-C UIViewController的Swift子类看起来像这样: class SomeVC: UIViewController { var c1: () -> () = { println(self) } var c2: () -> () { get { return { println(self) } } } var c3: () -> () { return { println(self) } } override func viewDidAppear(animated: Bool) { super.viewDidAppear(animated) c1() c2() c3() } } 当显示VC时,我看到打印出以下行: (Function) <_TtC12SwiftiOSTest6SomeVC: […]

closuresUITableViewRowAction

我有一个自定义的UITableViewRowAction设置和工作。 我唯一不能解决的是如何在一个动作被选中后closuresUITableViewRowAction。 我确定我错过了一些非常明显的东西。 这是我目前的设置: func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [AnyObject]? { var moreRowAction = UITableViewRowAction(style: UITableViewRowActionStyle.Default, title: "In", handler:{action, indexpath in //Some code to execute here }); moreRowAction.backgroundColor = UIColor(red: 0.298, green: 0.851, blue: 0.3922, alpha: 1.0) return [moreRowAction]; } 感谢您的任何build议。

Swift中的元组的枚举

这是可能创build一个元组的枚举在Swift中? 我想build立一些像: enum ErrorCode: (Int, String) { case Generic_Error = (0, "Unknown") case DB_Error = (909, "Database") } 但它不编译…有没有办法获得类似的结果?

如何传递多个枚举值作为函数参数

我将如何做到以下几点 – 在swift中传递两个NSStringDrawing选项作为函数参数: CGRect boundingRect = [string boundingRectWithSize:CGSizeMake(280.0, NSIntegerMax) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:options context:nil];

在Swift中访问类中的静态variables

ClassName.staticVaribale是访问类中的静态variables的唯一方法吗? 我想要像self ,但为了课堂。 像class.staticVariable一样。