小编Qby*_*yte的帖子

何时使用inout参数?

将类或基元类型传递给函数时,函数中对参数所做的任何更改都将反映在类之外.这与inout参数应该做的基本相同.

inout参数的一个好用例是什么?

swift swift2

67
推荐指数
3
解决办法
4万
查看次数

Swift 2 - "if"中的模式匹配

最近我看到了Apple的2015年WWDC主题演讲.我也查看了一些文档,但是我找不到"if if pattern"部分,它是如何写在他们展示的幻灯片上的.(来自Apple Events的 68分00秒视频)

你知道这是指什么吗?还是语法?

syntax if-statement pattern-matching swift swift2

32
推荐指数
1
解决办法
1万
查看次数

有没有人知道Swift中"(nil <0)== true"和"(nil <= 0)== true"背后的基本原理?

我认为Swift是一种构造得很好的现代语言,然而,有一件事让我感到困惑,那就是有(nil <= 0)== true(nil <0)== true的理由.

以下是更多案例:

在此输入图像描述

无论如何,返回true为nil <0似乎违背了整个可选概念,其中一个参数是关于避免默认数字初始化为"0".现在"0"再次特别.

任何人都有任何解释,Swift决定让(nil <= 0)和(nil <0)返回true.

null swift swift2

12
推荐指数
1
解决办法
802
查看次数

Xcode 6.3是否可以使用Swift 1.0?

是否可以使用Xcode 6.3但仍然使用Swift 1.0?
使用iOS 8.2 SDK没有帮助,我找不到Swift版本的任何开关......

编辑:我有一个Swift 1.0的扩展版本,我不想触摸,但更新我的主项目

ios swift xcode6.3

9
推荐指数
1
解决办法
1358
查看次数

斯威夫特中的元组"向上倾斜"

如果我有一个带签名的元组,(String, Bool)我就无法将其转换为(String, Any).编译器说:

错误:无法将元组转换'(String,Bool)'表示为'(String,Any)'

但这应该工作,因为Bool可以安全地Any使用as.如果您执行类似的操作,则会抛出几乎相同的错误:

let any: Any = ("String", true)
any as! (String, Any) // error
any as! (String, Bool) // obviously succeeds
Run Code Online (Sandbox Code Playgroud)

错误:

无法将'(Swift.String,Swift.Bool)'类型的值转换为'(protocol <>,protocol <>)'

那么有没有针对第二种情况的解决方法呢?因为你甚至无法投射Any到任何(Any, Any)可以单独投射元素的元组.

casting tuples swift swift2

9
推荐指数
1
解决办法
1767
查看次数

Swift 2.0 Map"实例成员不能在类型上使用"

我正在尝试学习如何使用swift 2.0创建FFT但是我无法编译.map函数.

以下代码在游乐场中工作,但不在xCode内部作为swift类的成员.

我收到以下错误"实例成员'sineArraySize'不能用于'FFTAnalyser'类型

import Foundation
import Accelerate

class FFTAnalyser {
    let sineArraySize = 64 // Should be power of two for the FFT

    let frequency1 = 4.0
    let phase1 = 0.0
    let amplitude1 = 2.0

    var sineWave = (0..<sineArraySize).map {
        amplitude1 * sin(2.0 * M_PI / Double(sineArraySize) * Double($0) * frequency1 + phase1)
    }

    func plotArray<T>(arrayToPlot:Array<T>) {
        for x in arrayToPlot {
            print(x)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感激.谢谢

xcode dictionary fft swift

9
推荐指数
1
解决办法
9048
查看次数

高效的屏幕外UIView渲染和镜像

我有一个"屏幕外"的UIView层次结构,我希望在屏幕的不同位置进行渲染.此外,应该可以仅显示此视图层次结构的一部分,并且应该反映对此层次结构所做的所有更改.

困难:

  • 如果要将所有更改合并到视图层次结构中,则该UIView方法drawHierarchy(in:afterScreenUpdates:)始终调用draw(_ rect:),因此对于大型层次结构而言效率非常低.您必须在每次屏幕更新时重绘它或观察所有视图的所有更改属性.绘制视图层次结构文档
  • UIView方法snapshotView(afterScreenUpdates:)也没有多大帮助,因为如果此层次结构是"屏幕外",我还没有找到获得正确视图层次结构图的方法.快照视图文档

"屏幕外":此视图层次结构的根视图不是应用程序UI的一部分.它没有超级视图.

您可以在下面看到我的想法的直观表示:

例

rendering off-screen uiview ios swift

7
推荐指数
1
解决办法
233
查看次数

iPhone拒绝了启动请求问题

我试图在我的iPhone上运行我的应用进行测试,但收到此错误:

错误:无法启动'/ private / var / containers / Bundle / Application / 一些数字 / 应用程序名称 .app'-iPhone 名称已拒绝启动请求。

我找到了解决此问题的方法,但我尝试了以下方法却没有起作用:

  • 重新安装应用
  • 重新创建配置文件
  • 从密钥中删除开发人员证书,以便它将重新创建证书
  • 重新安装Xcode
  • 将“ Apple全球开发者关系证书颁发机构”信任模式从“始终信任”设置为“系统默认值”。

在iPhone上运行该应用程序的唯一方法是禁用方案中的“调试可执行文件”,但这不是最好的解决方案,因为我无法使用调试器,也许有更好的解决方案来解决这个问题?

xcode ios

5
推荐指数
1
解决办法
1674
查看次数

我可以使用Xcode 7在Swift 1(适用于iOS 7和8)中编写应用程序吗?

我可以使用Xcode 7在Swift 1(适用于iOS 7和8)中编写应用程序吗?或者将编译Swift 2在iOS 7-9上运行?

xcode swift swift2

4
推荐指数
1
解决办法
1268
查看次数

Swift 2.1 - 错误处理 - 不编译多个Catch

我有一个函数assignName(name :),它会抛出一个错误.当从具有多个catch的do块调用该函数时,它将错误显示为:

Errors thrown from here are not handled because the enclosing catch is not exhaustive 
Run Code Online (Sandbox Code Playgroud)

我的代码是:

enum PersonError: ErrorType {
    case IsNotAPerson
    case IsNotAGoodPerson
    case IsNotAValidPerson
}

func assignName(name: String?) throws {
    guard name != nil else {
        throw PersonError.IsNotAPerson
    }
    personName = name
}
func catchingSpecificError() {
    do {
        try assignName(nil) // Compiler Error displays at this line.

    }catch PersonError.IsNotAPerson {
        print("Propagated error is caught in catch on case .NotAPerson")
    }     
}
Run Code Online (Sandbox Code Playgroud)

提前致谢!

xcode ios swift2

1
推荐指数
1
解决办法
363
查看次数