我有这个: class Movies { Name:String Date:Int } 和一组[电影]。 如何按名称按字母顺序排列数组? 我试过了: movieArr = movieArr.sorted{ $0 < $1 } 和 movieArr = sorted(movieArr) 但这不起作用,因为我没有访问电影的名称属性。
我想在Swift中sorting字典。 我有一个字典,如: "A" => Array[] "Z" => Array[] "D" => Array[] 等我想要它像 "A" => Array[] "D" => Array[] "Z" => Array[] 等等 我已经尝试了很多解决scheme,但没有人为我工作。 我正在使用XCode6 Beta 5,并且有一些编译器出错,一些解决scheme给出了exception。 所以任何人都可以发布字典sorting的工作副本。
我需要生成一个随机数。 看来arc4random函数不再像arc4random_uniform函数一样存在。 我有的选项是arc4random_stir() , arc4random_buf(UnsafeMutablePointer<Void>, Int)和arc4random_addrandom(UnsafeMutablePointer<UInt8>, Int32) 。 我找不到任何文档的function和头文件没有评论给提示。
我需要存储一个值作为Float ,但源数据是一个CGFloat : let myFloat : Float = myRect.origin.x 但是这会导致编译器错误:'NSNumber'不是子types'Float' 所以如果我明确地这样做: let myFloat : Float = myRect.origin.x as Float 但这反过来导致编译器错误:'不能将expression式的types'浮动'转换为'浮动' 什么是正确的方式来做到这一点,并满足编译器吗?
在Swift中,我注意到没有@autoreleasepool{}构造,尽pipeSwift使用ARC。 在Swift中pipe理autoreleasepool的正确方法是什么?或者出于某种原因删除了它?
假设我想用一个String和一个Int init一个UIView子类。 我如何做到这一点在Swift中,如果我只是UIView ? 如果我只是做一个自定义的init()函数,但是参数是一个String和一个Int,它告诉我“super.init()在从初始化程序返回之前不被调用”。 如果我打电话super.init()我告诉我必须使用指定的初始值设定项。 我应该在那里使用什么? 帧版本? 编码器版本? 都? 为什么?
我安装了包含对Swift 1.2的支持的Xcode 6.3。 它出现了大量的错误消息,这主要是铸造问题。 我导航到故事板,不能回到任何其他.swift没有整个事情崩溃。 我强制退出,重新启动,甚至重新安装,我仍然无法离开Main.storyboard文件。 我已经尝试了这里描述的build议,以故事板的forms作为代码,进行一些修改,恢复这些修改,保存并重试,仍然没有运气。 是在我的代码打破Xcode的东西? 有没有人遇到这个? 我用相同的代码库成功地使用了Xcode 6.3 beta。 更新:现在已经在2015年4月21日发布的Xcode 6.3.1中修复了。
我想通过引用传递我的Swift Array account.chats到chatsViewController.chats (所以当我添加一个聊天account.chats , chatsViewController.chats仍然指向account.chats )。 也就是说,我不希望Swift在account.chats的长度发生变化时将两个数组分开。
我试图改变设置button的颜色为白色,但不能让它改变。 我已经尝试了这两个: navigationItem.leftBarButtonItem?.tintColor = UIColor.whiteColor() navigationItem.backBarButtonItem?.tintColor = UIColor.whiteColor() 但没有改变,它仍然是这样的: 我该如何让这个button变成白色?
由于Swift支持方法和初始化方法的重载,所以你可以把多个init放在一起,并使用你认为合适的方法: class Person { var name:String init(name: String) { self.name = name } init() { self.name = "John" } } 那么为什么convenience关键字甚至存在? 是什么使得以下更好? class Person { var name:String init(name: String) { self.name = name } convenience init() { self.init(name: "John") } }