Questions tagged «swift»

Swift是Apple Inc.针对其平台和Linux开发的一种安全,快速且具有表现力的通用编程语言。Swift是开源的。仅将标记用于有关语言功能或在Swift中需要代码的问题。将标签[ios],[ipados],[macos],[watch-os],[tvos],[cocoa-touch]和[cocoa]用于有关平台或框架的(语言不可知)问题。

20
如何在按下回车键时快速隐藏键盘?
我UITextfied在单击文本键盘时正在使用,但是当我按下return键时,键盘没有消失。我使用以下代码: func textFieldShouldReturn(textField: UITextField!) -> Bool // called when 'return' key pressed. return NO to ignore. { return true; } 方法resignfirstresponder没有起作用。
214 ios  swift  uitextfield 

19
如何在Swift中关闭ViewController?
我试图通过调用驳回迅速一个视图控制器dismissViewController在IBAction @IBAction func cancel(sender: AnyObject) { self.dismissViewControllerAnimated(false, completion: nil) println("cancel") } @IBAction func done(sender: AnyObject) { self.dismissViewControllerAnimated(false, completion: nil) println("done") } 我可以在控制台输出中看到println消息,但是ViewController永远不会消失。可能是什么问题呢?


15
以编程方式返回到Swift中以前的ViewController
我将用户带到单击按钮的页面上。此页面是UITableViewController。 现在,如果用户点击一个单元格,我想将他推回到上一页。 我想到了类似的东西,self.performSegue("back")....但这似乎是个坏主意。 正确的方法是什么?
211 ios  swift  segue 

22
为什么Swift编译时间这么慢?
我正在使用Xcode 6 Beta 6。 这已经困扰了我一段时间,但是现在已经到了几乎无法使用的地步。 我的项目已经开始有一个体面的65个斯威夫特文件的大小和几个桥接Objective-C的文件(这是真的不是问题的原因)。 似乎对任何Swift文件进行任何微小的修改(例如在应用中几乎没有使用的类中添加简单的空白)都会导致重新编译指定目标的整个Swift文件。 经过更深入的调查,我发现CompileSwiftXcode在swiftc目标的所有Swift文件上运行命令的阶段占了编译器时间的几乎100%。 我进行了进一步的研究,如果仅使用默认控制器保留应用程序委托,则编译速度非常快,但是随着我添加越来越多的项目文件,编译时间开始变得很慢。 现在只有65个源文件,每次编译大约需要8/10秒。一点也不快。 我还没有看到任何帖子谈到这个问题,除了这一个,但所以我想知道如果我在这种情况下,只有一个,这是一个旧版本的Xcode 6。 更新 我已经在GitHub上检查了一些Swift项目,例如Alamofire,Euler和CryptoSwift,但是它们都没有足够的Swift文件可以进行实际比较。我发现唯一一个启动时大小合适的项目是SwiftHN,即使它只有十几个源文件,我仍然能够验证同一件事,一个简单的空间,整个项目需要重新编译,这开始需要一个很少的时间(2/3秒)。 与分析器和编译速度都很快的Objective-C代码相比,这确实让Swift永远无法处理大型项目,但是请告诉我我错了。 Xcode 6 Beta 7更新 仍然没有任何改善。这开始变得荒谬。由于缺少#importSwift,我真的看不到苹果将如何进行优化。 使用Xcode 6.3和Swift 1.2进行更新 苹果增加了增量构建(以及许多其他编译器优化)。您必须将代码迁移到Swift 1.2才能看到这些好处,但是Apple在Xcode 6.3中添加了一个工具来帮助您做到这一点: 然而 不要像我那样高兴得太快。他们用来使构建增量的图形求解器尚未得到很好的优化。 的确,首先,它不关注函数签名的更改,因此,如果在一个方法的块中添加空格,则将重新编译所有依赖于该类的文件。 其次,它似乎基于重新编译的文件来创建树,即使更改不影响它们也是如此。例如,如果将这三个类移到不同的文件中 class FileA: NSObject { var foo:String? } class FileB: NSObject { var bar:FileA? } class FileC: NSObject { var baz:FileB? …

6
编译器错误:具有Objective-C选择器的方法与具有相同Objective-C选择器的先前声明冲突
我开始学习Swift,并且一直在YouTube上观看斯坦福大学的精彩视频讲座。如果您有兴趣或有帮助,可以使用以下链接(尽管不需要了解我的问题): 使用Swift开发iOS 8应用-2.更多Xcode和Swift,MVC 在听完讲座后,我发现(据我所知)我的代码与视频中的代码相同,但是在我的系统上,我遇到了编译器错误。经过大量的试验和错误,我设法将代码简化为两个示例,其中一个生成错误,另一个生成或未生成错误,但是我不知道是什么真正导致了错误或如何解决该错误。 产生错误的代码是: import UIKit class BugViewController: UIViewController { func perform(operation: (Double) -> Double) { } func perform(operation: (Double, Double) -> Double) { } } 这将产生以下编译器错误: 使用Objective-C选择器的“执行”方法“执行:”与使用相同Objective-C选择器的先前声明冲突 通过简单地删除UIViewController的子类,代码可以编译: import UIKit class BugViewController { func perform(operation: (Double) -> Double) { } func perform(operation: (Double, Double) -> Double) { } …
209 swift 


25
如何在Swift中设置后退按钮文本
如何删除后退按钮文本。 当前的后退按钮: <返回 所需的后退按钮: <其他 这些都不起作用: self.navigationItem.backBarButtonItem?.title = "Back" self.backItem?.title = "" self.navigationController?.navigationBar.backItem?.title = "" self.navigationItem.backBarButtonItem?.title = "" self.navigationController?.navigationItem.backBarButtonItem?.title="Back" self.navigationController?.navigationBar.backItem?.title = "" self.navigationController?.navigationItem.backBarButtonItem?.title
207 ios  objective-c  swift 


19
获得两个NSD日期之间的差异(月/天/小时/分钟/分钟/秒)
我试图获取当前日期NSDate()与PHP time();调用中的日期之间的差异,例如:NSDate(timeIntervalSinceReferenceDate: 1417147270)。如何获得两个日期之间的时间差。我想要一个比较两个日期的函数,if(seconds > 60)然后返回分钟,if(minutes > 60)小时和if(hours > 24)天等等。 我应该怎么做? 编辑:当前接受的答案已经完全做了我想要做的。我推荐使用它,以方便使用,以PHP time()函数使用的形式获取两个日期之间的时间。如果您对PHP不太熟悉,那么这是从1970年1月1日开始的秒数。这对于PHP后端非常有用。如果您使用的是NodeJS之类的后端,则可能需要考虑下面提供的其他一些选项。
206 ios  swift  macos  nsdate 



27
使用Swift读取JSON文件
我真的很努力地尝试将JSON文件读入Swift,以便可以使用它。我花了两天的大部分时间来重新搜索并尝试不同的方法,但到目前为止还没有运气,因此我已经注册了StackOverFlow,以查看是否有人可以向我指出正确的方向..... 我的JSON文件称为test.json,其中包含以下内容: { "person":[ { "name": "Bob", "age": "16", "employed": "No" }, { "name": "Vinny", "age": "56", "employed": "Yes" } ] } 该文件直接存储在文档中,我使用以下代码进行访问: let file = "test.json" let dirs : String[] = NSSearchPathForDirectoriesInDomains( NSSearchpathDirectory.DocumentDirectory, NSSearchPathDomainMask.AllDomainMask, true) as String[] if (dirs != nil) { let directories: String[] = dirs let dir …

20
Swift编译器错误:“框架模块内的非模块化标头”
现在,我想将我的ObjC框架迁移到Swift,并遇到以下错误: include of non-modular header inside framework module 'SOGraphDB' 引用指向仅定义协议的头文件,我在某些类中使用此头文件来使用此协议。 似乎与模块功能有关,但目前尚不清楚如何解决,您知道解决方案吗? 更新: 这是Swift编译器错误。 更新2: 一种快速的解决方法(但不能解决根本原因)是将以下设置设置为yes:CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.