小编Dre*_*rew的帖子

在Swift中向下转换NSObject

我正在学习斯威夫特,并试图了解有关向下倾斜的事情.NSDictionary在Swift中表示为[NSObject:AnyObject].据我所知,这可以下载到更具体的类型(例如[Int:String]).当我们谈论Objective-C时,我得到NSObject是基类,但是如何在Swift中将它下载到String或Integer?据我所知,Swift本机类型不是NSObject的子类.

cocoa ios swift

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

在guard语句的else块中使用assert

我在Google Analytics的实施说明中遇到了这个问题:

guard let gai = GAI.sharedInstance() else {
    assert(false, "Google Analytics not configured correctly")
}
Run Code Online (Sandbox Code Playgroud)

我从来没有想过可以在else子句中有一个断言,而不返回.这对我来说没有意义,因为断言只会在测试方案中进行评估.那么,为什么编译器不警告它不返回(在发布版本的情况下).

编辑:这是在功能范围内 application(_:didFinishLaunchingWithOptions) -> Bool

编辑2:我发现的其他信息可以解答它:

不幸的是,一旦你进行发布构建,这将会中断,因为在发布配置中删除了断言,并且一个保护块必须结束当前作用域的执行.

https://help.insight.com/app/answers/detail/a_id/120/~/integrating-google-analytics-into-ios-apps-using-swift-4

ios swift guard-statement

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

enumerated()常数时间O(1)如何?

我在查看enumerated()有关该Array类型的文档时,发现它说:

复杂度:O(1)

https://developer.apple.com/documentation/swift/array/1687832-枚举

这似乎没有意义,因为遍历数组将是线性时间O(n)--因为数组的长度未知。enumerated()将必须遍历数组才能返回EnumeratedSequence。这个函数如何保持时间复杂度?

arrays big-o ios swift

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

标签 统计

ios ×3

swift ×3

arrays ×1

big-o ×1

cocoa ×1

guard-statement ×1