小编sil*_*vsk的帖子

在Swift中捕获NSException

Swift中的以下代码引发NSInvalidArgumentException异常:

task = NSTask()
task.launchPath = "/SomeWrongPath"
task.launch()
Run Code Online (Sandbox Code Playgroud)

我该如何捕捉异常?据我所知,Swift中的try/catch是针对Swift中抛出的错误,而不是针对像NSTask这样的对象引发的NSExceptions(我猜这是用ObjC编写的).我是Swift的新手,所以可能是我错过了一些明显的东西......

编辑:这是一个关于bug的雷达(特别是对于NSTask):openradar.appspot.com/22837476

cocoa-touch exception foundation nsexception swift

65
推荐指数
3
解决办法
2万
查看次数

使用swift定制Xcode项目的链接器

我们使用LD和LDPLUSPLUS用户设置来调用自定义链接器,除非在项目中有一个swift文件然后调用原始的clang,否则它可以正常工作.有没有办法覆盖使用swift的项目的链接器?

更新: Xcode错误的雷达:http://openradar.appspot.com/radar? id = 5330879249383424

xcode linker build clang swift

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

在iOS上强制JavaScriptCore虚拟机的垃圾收集

有没有办法强制iOS(或Mac OS)JavaScriptCore VM垃圾收集器运行?我只需要测试内存泄漏,所以私有API就可以了.

macos garbage-collection ios javascriptcore

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

swift 3数组结构 - >强制转换为NSObject - >强制转换=>崩溃

以下代码在Swift 3上崩溃,任何人都可以解释原因吗?

struct S {
    let a:Int
}

let t = [S(a: 8)]
let u:AnyObject = t as NSObject
let v:[S] = u as! [S]
Run Code Online (Sandbox Code Playgroud)

是因为在Swift 3结构数组中是NSObject(它不在Swift 2中)并且它不知何故不能很好地转换为NSArray?为什么NSObject?..

arrays nsobject swift anyobject swift3

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

按 kotlinx.serialization 生成的键排序的映射

我需要使用映射序列化一个类,以便映射中的键在 json 中排序。所以如果有课的话

@Serializable
class Example(val map: Map<String, Int>)
Run Code Online (Sandbox Code Playgroud)

它是连载的

val example = Example(mapOf("b" to 2, "a" to 1, "c" to 3))
println(Json.encodeToString(example))
Run Code Online (Sandbox Code Playgroud)

那么生成的 json 应该是

{
    "map": {
        "a": 1,
        "b": 2,
        "c": 3
    }
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用SortedMap而不是Map,但这会引发异常:

kotlinx.serialization.SerializationException:类“TreeMap”未在“SortedMap”范围内注册多态序列化

如何使用 获得排序后的 json kotlinx.serialization

(kotlin 1.4.0、kotlinx.serialization 1.0.0-RC)

kotlin kotlinx.serialization

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