小编Adr*_*n_H的帖子

Linux上的Swift调试 - 缺少Backtrace

我有一个崩溃,我试图找到,甚至构建应用程序作为调试和执行它我似乎没有得到任何符号信息.

我在控制台收到的输出是:

fatal error: unexpectedly found nil while unwrapping an Optional value
Current stack trace:
0    libswiftCore.so                    0x00007f1c51ca51c0 swift_reportError + 120
1    libswiftCore.so                    0x00007f1c51cbfbe0 _swift_stdlib_reportFatalError + 62
2    libswiftCore.so                    0x00007f1c51ab9be6 <unavailable> + 1186790
3    libswiftCore.so                    0x00007f1c51c18ead <unavailable> + 2625197
4    libswiftCore.so                    0x00007f1c51ab9be6 <unavailable> + 1186790
5    libswiftCore.so                    0x00007f1c51bd4060 specialized _fatalErrorMessage(StaticString, StaticString, file : StaticString, line : UInt, flags : UInt32) -> Never + 96
6    myProgram                          0x000000000045909e <unavailable> + 364702
7    myProgram                          0x0000000000423f37 <unavailable> + 147255
8    libdispatch.so                     0x00007f1c5276e177 <unavailable> …
Run Code Online (Sandbox Code Playgroud)

linux swift

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

从Swift重写一个Obj-C类方法,返回NSArray

我似乎无法覆盖以下方法,并创建了一个独立的示例,现在让我烦恼了几个小时.

它几乎肯定是愚蠢的,但我似乎无法覆盖swift类中的类方法,其中基类是Objective C,特别是返回类型是一个NSArray*.

我刚收到错误," Method does not override any method from its superclass"

所以我的失败如下所示:

显示错误,包含类和超类的定义

但是如果将返回类型更改为像NSString这样简单的东西,它可以正常工作*

使用NSString的工作示例

现在我已经Array<AnyObject>和其他几个人一起尝试过了,但是我对Swift语法仍然有点新鲜,所以我几乎肯定错过了一些明显的东西.

objective-c nsarray ios swift

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

使用“ Codable”设置属性值无法通过继承工作

我无法b在子类中设置该属性。继承自的父类Codable似乎运行良好。

我觉得自己似乎缺少了一些显而易见的东西,但是我很难看到树木所用的木头。

下面是我的问题的一个操场例子。 b尽管设置为,仍保持0 10。传入的是子类,但可以设置父属性(很奇怪!)。

class Primary : Codable {
    var a: Int = 0
}

class Secondary : Primary {
    var b: Int = 0
}

let c = Secondary.self

func testRef<T: Codable>(_ t: T.Type) {
    let json = "{\"a\":5, \"b\" : 10}".data(using: .ascii)!
    let testCodable = try? JSONDecoder().decode(t.self, from: json)
    print("a >> \((testCodable as! Primary).a)")
    print("b >> \((testCodable as! Secondary).b)")
}

testRef(c)
Run Code Online (Sandbox Code Playgroud)

输出是:

a >> 5
b >> 0
Run Code Online (Sandbox Code Playgroud)

任何提示或指示将不胜感激。

  • 在Xcode 9.3,Swift …

swift codable

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

标签 统计

swift ×3

codable ×1

ios ×1

linux ×1

nsarray ×1

objective-c ×1