问题标签 [swift2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
752 浏览

c - 从 C 调用 Swift

我看过很多文章解释如何从 Swift 调用 C 函数,但我想探索相反的(如果可能的话),从 C 调用 Swift 函数

我已经看到了说明 objC 中的 Swift 函数的示例,但这些并没有让我更接近我的目标。甚至支持此任务吗?

0 投票
13 回答
120499 浏览

swift2 - Swift 的 guard 关键字

Swift 2 引入了guard关键字,可用于确保各种数据配置就绪。我在这个网站上看到的一个例子演示了一个 submitTapped 函数:

我想知道 usingguard与使用条件的老式方式是否有任何不同if。它是否提供了使用简单检查无法获得的好处?

0 投票
3 回答
1863 浏览

ios - 如何从以编程方式创建的 UITableView 中分离?

我正在开发一个具有从左侧滑入的菜单的应用程序。使用UITableViewNSObject以编程方式构建的菜单。我已经能够用项目填充滑出菜单,但我不知道如何在不使用 Interface Builder 的情况下创建带有标识符的 segue。

这是我在 tableView 中要做的事情:

(要点:SideBarTableViewController

当我单击菜单中的单元格时,出现以下错误:

2015-06-11 18:35:28.720 SideBarApp [2862:1111870] * 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“接收器()没有标识符为“item1Settings”的segue”*第一次抛出调用堆栈:(0x1822882d8 0x193aac0e4 0x186fe4c00 0x10000b030 0x10000b108 0x186df1474 0x186eab790 0x186d4c240 0x186cbc6ec 0x1822402a4 0x18223d230 0x18223d610 0x1821692d4 0x18b97f6fc 0x186d2efac 0x1000147cc 0x19412aa08) libc++abi.dylib: terminating with uncaught exception of type NSException

在搜索堆栈后,我在 Objective-C 中找到了一些解决方案,但在这种情况下没有 Swift 的解决方案。

如何从以编程方式创建的 UITableView 中分离?


这是我以编程方式组装 UITableView 的地方:

SideBar.swift 查看整个文件

这就是我所说的:

ViewController.swift(初始视图)

0 投票
2 回答
1488 浏览

swift - do-catch 中的 var init

以下代码:

在此之后,您将无法访问已初始化的变量。如果我想访问例如,错误是“使用未解析的标识符” deviceInput。但为什么?要么AVCaptureDeviceInput()崩溃,catch-Block 返回,要么一切正常,变量初始化成功。解决这个问题的最佳解决方案是什么?

0 投票
2 回答
42592 浏览

swift - Xcode 7 在 Mac OSX 10.10 Yosemite 上运行

我是否遗漏了什么或者 Xcode 7 应该只在新的(测试版)OSX 10.11 El Capitan 上运行?

我下载了测试版,在进行了一些代码更改以符合 Swift 2.0 之后,我的项目在 OSX 10.10.3 下编译并运行良好。是我遗漏了什么还是苹果以某种方式改变了游戏规则?

0 投票
2 回答
6689 浏览

swift - NSDateComponents 语法的差异?

我一直在使用 Swift 和 Xcode 6.3.2 开发时钟应用程序,以下代码可以正常构建和运行。

但是,当我在 Xcode 7.0 beta 中加载相同的项目并且不进行任何更改时,我在 calendar.components 行上收到错误消息。

我查看了文档,所有 NSCalendarUnit 常量都已弃用(在 iOS 8.0 中它说),但组件方法的方法描述仍然说要使用它们。

我玩过其他 NSCalendarUnit 自动完成值,但没有一个产生工作代码,我在网上找不到任何最近的例子,也许是因为这是全新的。

有人知道新的正确方法吗?

0 投票
1 回答
5811 浏览

cocoapods - CocoaPods - 使用 Xcode-beta 为 iOS 9 / Swift 2 构建

我有一个当前版本为 1.1 的“CocoaPod”(术语?)。

还有一个需要 Swift 2.0 的开发分支(因此需要 IOS 9.0 的基础 SDK)和 PodSpec,如下所示:

pod spec lintPodSpec在使用 Xcode 8.3 构建时无法验证 ( )。如何强制它使用最新的 Xcode-beta?

0 投票
4 回答
7773 浏览

swift - 即使没有更改,“转换为最新的 Swift 语法”也会中断构建

我的项目在objective-c中,只有一个tableviewcontroller在swift中。我今天下载了 Xcode-beta,它提示我“转换为最新的 Swift 语法”。在我按照步骤操作后,它告诉我没有任何变化。我也没有在 proj 文件中看到任何更改,但它有错误。请注意,当我选择不转换为最新的 swift 语法时,我看不到错误 - 在这种情况下,应用程序构建和运行良好。

知道为什么它会破裂吗?

添加了屏幕截图

以下是错误 -

  • 无法解析“应用程序名称”的调试映射没有这样的文件或目录
  • clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
  • 其他错误是它无法找到 swift 文件。swift类是在objective-c类中发起的。
0 投票
0 回答
36 浏览

ios - Swift 2.0 NSData(contentsOfURL) 在应用程序中始终为零,但相同的代码在操场上运行良好

我正在使用以下代码从在线 api 获取数据,我在操场和我的应用程序中使用相同的代码。但不知何故,完全相同的代码在操场上工作,但在 iOS 模拟器和 iOS 9b1 iPhone 上都不能工作(let dataSource = NSData(contentsOfURL: NSURL(string: "http://api.openweathermap.org/data/2.5/weather?id=5375480")!)当它在 iOS 上运行时,这条线总是为零。)

由于我使用 Xcode 6.3.2 为我的 iOS 8 项目使用相同的 api url,我知道该 url 正在工作并且与 API 密钥无关,因此我不知道发生了什么。

0 投票
2 回答
193 浏览

ios - Swift:子类 NSFileManager

我需要继承 NSFileManager 来添加一些需要的功能。我创建了一个子类,添加了函数和私有变量,现在我想像这样从另一个类访问函数。MyFileManager.defaultManager().awesomeFunction("Test")

这是我的代码:

不知何故,我无法从另一个类访问该函数。我究竟做错了什么?

我正在使用 Swift 2.0