当前位置: 首页 > 面试题库 >

如何以编程方式找到Swift的版本?

赵志
2023-03-14
问题内容

我知道我可以找到我正在运行的Swift版本,还原到Terminal并输入:

xcrun swift --version
Swift version 1.1 (swift-600.0.57.4)
Target: x86_64-apple-darwin13.4.0

另外,我一直在阅读有关Swift中的预处理器宏的信息,但是找不到Swift版本常量很幸运。

随着Swift 1.2的到来,最好标记仅在Swift 1.1上运行的旧代码(Xcode最高为6.2)或需要Xcode 6.3的新代码(Swift 1.2)。

注意:我也可以使用system()做类似的事情:

system("xcrun swift --version | grep version > somefile.txt")

然后打开somefile.txt,而是选择一些更简单的解决方案


问题答案:

Swift 3.1 扩展了该 @available 属性,以支持指定其现有平台版本之外的Swift版本号。

// Swift 3.1

@available(swift 3.1)
func intVersion(number: Double) -> Int? {
  return Int(exactly: number)
}

@available(swift, introduced: 3.0, obsoleted: 3.1)
func intVersion(number: Double) -> Int {
  return Int(number)
}


 类似资料:
  • 问题内容: 我将用户带到单击按钮的页面上。此页面是 UITableViewController 。 现在,如果用户点击一个单元格,我想将他推回到上一页。 我想到了类似的东西,但这似乎是个坏主意。 正确的方法是什么? 问题答案: 斯威夫特3: 如果您想回到上一个视图控制器 如果要返回到根视图控制器

  • 问题内容: 我正在尝试创建一个警报应用程序,但我注意到像Sleep Cycle这样的应用程序会在警报响起之前将您的音量设置为最大,即使您的音量非常低。 我已经尝试过使用AVAudioPlayer,而通过MPVolumeView看到的全部是用户必须这样做。有什么方法可以让我无需用户进行操作? 谢谢您的帮助。 如果可以的话请尽快获取代码 问题答案: 您只需要导入MediaPlayer。您可以执行以下操

  • 问题内容: 我正在尝试以编程方式创建UIImage视图,我有一个新视图,并且尝试这样做 这行不通,因为我不知道 您 在第二行中应该看到的是什么。 问题: 如何通过编码而不是在情节提要中使UIImageView出现在屏幕上 问题答案: 首先,您从图片文件中创建一个,然后从中创建一个: 最后,您需要给出一个框架并将其添加到视图中以使其可见:

  • 问题内容: 我一直在尝试以编程方式重做我的应用程序上的工作。(不使用情节提要) 除了手动制作导航控制器外,我几乎完成了。 我一直在做一些研究,但找不到任何手动实现此方法的文档。(我开始将应用程序制作为单视图应用程序) 目前,我只有1个ViewController。当然是appDelegate 导航控制器将在应用程序的所有页面中使用。 如果有人可以帮助我,或发送指向一些适当文档的链接以编程方式进行此

  • 我在我的应用程序中使用EJB3.1。 我想在我的应用程序中将一个EJB的JNDI查找名称发送到另一个应用程序,以便它可以在运行时使用它 用程序找出任意EJB的查找名的过程是什么?

  • 问题内容: 是否可以使用Swift 3以编程方式为Mac上的桌面拍摄屏幕截图?我找不到关于该主题的单个主题或论坛帖子,甚至在Apple的官方文档中也找不到。 问题答案: 是的,它有可能。此功能获取所有连接的监视器的屏幕截图,并将其作为jpg文件写入指定的路径。生成文件名作为Unix时间戳。