小编Mar*_*rcy的帖子

在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
查看次数

SwiftLint 更改规则 Cocoapods

我最近刚刚使用 CocoaPods 安装了 SwiftLint。我想更改 SwiftLint 的规则,但是当我进入 pod -> SwiftLint 时,我找不到名为“rules”的文件,通过该文件我可以编辑我的规则。请让我知道我该如何做同样的事情!多谢!对此,我真的非常感激!

cocoapods swift swiftlint

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

使用苹果图表时如何创建没有图例的图表?

Apple 的 Swift Charts 最近在 WWDC 上推出。然而,我的练习图有冗余。不需要图例。如何创建具有所有颜色但没有图例的图表?

\n

在此输入图像描述

\n

使用 \xe2\x80\x9c.foregroundStyle(by: .value("Shape", shape.type))\xe2\x80\x9d 会导致图表自动向条形图添加多种颜色。但foregroundStyle也带有传奇色彩。删除 foregroundStyle 会同时删除图例和颜色:

\n

在此输入图像描述

\n

这是最小的可重现代码:

\n
import Charts\nimport SwiftUI\n\nstruct ContentView: View {\n    var body: some View {\n        VStack {\n            Text("Swift Chart Example")\n            BarChart()\n                .frame(width: 350, height: 350, alignment: .center)\n        }\n    }\n}\n\nstruct Shape: Identifiable {\n    var type: String\n    var count: Double\n    var id = UUID()\n}\n\nlet data: [Shape] = [\n    .init(type: "Square",    count: 12),\n    .init(type: "Heart",     count: 10),\n    .init(type: "Rectangle", count: 21),\n    .init(type: "Star",      count: 15),\n    .init(type: "Circle", …
Run Code Online (Sandbox Code Playgroud)

swiftui swiftui-charts

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

当视图控制器从导航堆栈中弹出时,Timer 对象是否会自动销毁?

我创建了一个 Timer 对象,以便在我的应用程序的一个视图控制器中每秒重复执行一些代码。我的问题是,当我将视图控制器从导航堆栈中弹出时,系统会自动使计时器无效吗?不知何故,我的直觉告诉我事实并非如此,因为计时器对象本身并不直接绑定到视图控制器对象。

\n\n

编辑注意:下面是创建计时器的 VC swift 文件的代码。请不要因为我的业余代码而攻击我。因此,基本上会创建这种类型的 VC 并将其推送到导航堆栈上。假设用户在按导航栏上的后退按钮返回根视图之前没有按暂停按钮(在这种情况下计时器无效),计时器对象会被销毁吗?

\n\n
//\n//  TimerViewController.swift\n//  SwiftyTimer\n//\n//  Created by Jiaming Zhou on 5/6/20.\n//  Copyright \xc2\xa9 2020 Jiaming Zhou. All rights reserved.\n//\n\nimport UIKit\n\nclass TimerViewController: UIViewController {\n\n    @IBOutlet var countDownLabel: UILabel!\n    @IBOutlet var imageView: UIImageView!\n\n    private var timer: Timer?\n    private var timePassed = -1\n    private enum status {\n        case ongoing\n        case paused\n        case completed\n    }\n\n    private enum buttonImage {\n        case cancelButton\n        case pauseButton\n        case resumeButton\n    }\n\n    private var state = status.ongoing\n\n    var activity: Activity?\n\n    override …
Run Code Online (Sandbox Code Playgroud)

ios swift

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