问题标签 [swift2.2]

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 回答
684 浏览

ios - 可选委托方法上的 respondsToSelector

我正在将此Objective-C 开源项目转换为 Swift。它有一堆可选的代表。

我像这样将它们转换为 Swift。

在 Objective-C 项目中,在调用这些可选方法之前,它会respondsToSelector像这样检查它的可用性。

我通过使BEMAnalogClockDelegate符合NSObjectProtocol并像这样调用它们直接将其转换为 Swift。

但这会在项目运行时导致 EXC_BREAKPOINT 崩溃。

我在谷歌上搜索了一个解决方案,并看到了这篇推荐使用guard let的文章。

但是我的问题是如何指定else零件中的逻辑?例如,在上面的第一个if else块中,它检查if块中的方法,如果失败,它将值设置为块中的graduationColorto 。UIColor.whiteColor()else

如果我使用这种方法,我该怎么做guard let?还是有更好的方法来做到这一点?

0 投票
1 回答
2056 浏览

swift - 如何在swift中使用可变参数闭包?

在 Swift 的闭包中使用可变参数列表是否有正确的方法?

很快我注意到我可以声明一个函数,它接受一个可变参数列表,像这样

哪个构建得很好。当我尝试使用该功能时:

Xcode 设法自动完成,但在 args 之后关闭括号后,Xcode 中的所有语法突出显示都消失了,我看到一条消息"Command failed due to signal: Segmentation Fault: 11",这似乎只是意味着 Xcode 超级混乱。

对于上下文,我计划看看 Swift 是否可以编写一个函数,该函数可以根据可变数量的参数返回答案(映射到获得蛮力答案所需的 for 循环数)。这将是一种测试问题答案的简单方法,例如“给定一个整数数组,找到满足方程 a^3 + b^3 = c^3 + d^3 的所有组合”

反对更优化的解决方案。

“归还所有 2s”就是

单个 for 循环

0 投票
1 回答
55 浏览

swift - Swift 在协议变量中严格执行 Class 吗?

协议P需要一个v类变量C

X实现P了声明一个v类变量的协议C1where C1extends C

这是代码:

Xcode 抱怨此错误:

为什么编译器强制我匹配协议中声明的完全相同的类型?

编辑:

Obj-C 中完全相同的实现编译时不会出现错误或警告

0 投票
1 回答
153 浏览

swift - 使用 Swift 2.2 扩展字典数组

限制此扩展的正确方法是什么?我的试验没有成功。

例如:

0 投票
1 回答
210 浏览

swift - 在闭包中返回泛型类型的动态泛型参数?

我正在尝试为复杂的场景实现一个简单的 API。我有一种异步检索数据的类型(实际上是蓝牙设备)。所以我试图最终得到的 API 是这样的:

我从这篇了不起的文章中得到了一些好主意,所以这就是我试图实现上述目标的目的:

我遇到了返回的闭包类型的问题。我想根据传入的外围泛型类型键进行强类型化,但无法掌握如何做到这一点,或者可能需要不同的方法?任何帮助或方向将不胜感激!

0 投票
1 回答
282 浏览

uiscrollview - 在 swift 2.2 中创建滚动视图协议

我目前正在开发一个带有登录和注册表单的 iOS 应用程序。为了确保键盘不覆盖任何UITextFields,我实施了Apple提供的以下解决方案,并在本期中进行了讨论。

简单总结一下,此解决方案使用 a UIScrollView,其中放置了不同的 UI 元素,UIKeyboardDidShowNotificationUIKeyboardDidHideNotification在键盘出现/消失时上下移动元素,以便UITextField不隐藏 s。

除了一件事之外,这就像一个魅力:对于我所有的UIViewControllers,我必须重复相同的代码。为了解决我的问题,我尝试过:

  • 创建一个 base UIViewController,为不同的功能提供实现,可以是其他UIViewController的子类;
  • 使用协议和协议扩展为不同的功能提供默认实现,并使 my UIViewControllers 符合它。

两种解决方案都没有解决我的问题。UIScrollView对于第一个解决方案,尽管已声明,但我无法通过 Interface Builder 连接我的基类。

在尝试实现第二个解决方案时,UIViewController实现我的协议以某种方式无法识别声明的方法及其实现。

协议声明:

协议扩展实现了addTapGestureRecognizer()我希望避免使用的所有功能@objc

有没有人对我的问题有很好的解决方案,我知道如何避免UITextField在键盘出现/消失时重复与上下移动 s 相关的代码?或者有谁知道为什么我的解决方案不起作用?

0 投票
1 回答
146 浏览

iphone - 如何使用 swift 使 View 控制器处于活动状态?

当我将主视图控制器留给另一个视图控制器时,我想保持主视图控制器处于活动状态,我需要你的帮助。

我该怎么办,我正在使用 Swift 编程语言。

0 投票
0 回答
631 浏览

swift - 如何在 UIWebView 默认播放器中完成按钮操作?

我正在开发 iOS 应用程序。我需要在 UIWebView 中播放视频。一切正常,但我的要求是完成按钮操作。

我们可以在 iOS 中处理 webView 完成按钮操作吗?

谢谢。

0 投票
1 回答
127 浏览

swift - Swift 2.2 on ubuntu with package manager

I'm trying to install Swift 2.2 and the swift package manager on ubuntu 15.10.

When I take a look at the Swift Download Page there are 3 downloads available:

  • Swift 2.2 does not include the package manager
  • Trunk Development (master) includes the package manager, BUT is swift 3.0
  • Swift 2.2.x Release Branch does not include the package manager

What do I have to do to get Swift 2.2 with a working package manager?

Use an old trunk build before they began to develop Swift 3.0?

Grab the Swift 2.2 release package, build swift-lbuild to build swift-build-tool in order to build swift-package-manager?

0 投票
1 回答
3387 浏览

swift - 枚举 Int 强制转换为 NSNumber - 无法将类型的值转换为预期的参数类型

我有一个公共变量,我希望它的初始值为NSNumber

但我在这里遇到错误Cannot convert value of type 'ImageType' to expected argument type 'Int32'

这很奇怪,因为我也将 int 用于我的枚举。