小编Han*_*ash的帖子

创建具有多条线的折线图

查看Apple文档,我发现了一种简单的方法来执行此操作,前提是您的数据集结构正确(我的数据集结构不正确)。我一直在使用一个 CSV 文件,其中包含结构如下的行:

PM2.5 data, PM10 data, DateTime
PM2.5 data, PM10 data, DateTime
...
Run Code Online (Sandbox Code Playgroud)

我已将每一行解析为一个Measurement对象:

struct Measurement: Identifiable {
    var id: String // time of measurement 
    var pm25: Float
    var pm10: Float
}
Run Code Online (Sandbox Code Playgroud)

我天真地认为我可以像这样添加多个线标记(measurements是一个对象数组Measurement):

            Chart(measurements){
                LineMark (
                    x: .value("Time", $0.id),
                    y: .value("PM2.5", $0.pm25)
                )
                
                LineMark (
                    x: .value("Time", $0.id),
                    y: .value("PM2.5", $0.pm10)
                )
            }
Run Code Online (Sandbox Code Playgroud)

但这不会创建多行。任何人都可以提供有关如何在 Swift UI 中使用 Swift Charts 实现此目标的任何建议吗?我在 Stack Overflow 上找到了很多解决方案,但它们适用于 Swift 4 或更早版本,没有适用于 SwiftUI。

swiftui swiftui-charts

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

Xcode 14.3“没有这样的模块‘__ObjC’”

Xcode 截图:

在此输入图像描述

项目详情:

  • 该项目是一个 Objective-C 项目,最初创建于 2012 年。

  • 现在大约 33% 的代码库是用 Swift 编写的。

  • 项目具有 Cocoapod 依赖项。

  • 项目在 Xcode 14.2 上编译没有问题

Xcode 14.3 问题:

  • 在 Xcode 14.3 上,项目无法构建,抛出的错误位于 Xcode 生成的文件 ProjectName.private.swiftinterface 和 ProjectName.swiftinterface 中

  • Xcode 说“没有这样的模块 __ObjC”

    • 由于上述错误,无法验证模块接口“ProjectName”;文本界面可能会因项目问题或编译器错误而损坏
  • 请参阅随附的屏幕截图以获取完整的视觉效果。

我们尝试过的:

  • pod install --repo-update

  • 整个项目清理,删除派生数据文件夹,再次清理,再次尝试构建。

问题:

  • 社区认为这是 Xcode 问题吗?或者我们的 Build Settings/Info.plist 文件有问题吗?以前有人遇到过这种情况吗?

任何帮助将不胜感激!

xcode objective-c ios swift

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

无法从捆绑 ID 进行转换

更新到 iOS 17 和 Xcode 15 后,Xcode 中出现以下警告:

-警告- nw_parameters_set_source_application_by_bundle_id_internal 无法从捆绑包 ID(我的捆绑包 ID)转换为 UUID。这可能会导致错误的数据使用统计。

我该如何解决这个问题?

以前效果很好,我没有改变任何东西。

xcode ios

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

为什么我的应用程序图标比 macOS Dock 中的其他应用程序图标大?

我刚刚在 SwiftUI-macOS 中向我的项目添加了一个应用程序图标。构建并运行后,我发现我的应用程序图标比应有的要大!为什么会出现这种情况?正如您所看到的,它也没有圆角半径。

在此输入图像描述

macos

12
推荐指数
2
解决办法
3161
查看次数

如何解决 SwiftData 错误“类型‘*’不符合协议‘PersistentModel’”

完成 SwiftData 的测试版并尝试建立PersistentContainer. 我在我的上设置了一个modelContainer视图修改器ContentView,并使我的类符合@Model各种 WWDC 视频(已发布的视频)中所述的要求。

这是我要存储的基础对象,其中所有变量都符合Codable

Board.swift

import SwiftData

@Model
class Board {
    var size: Int = 3
    var cellSize: CGFloat = 44
    var numberOfTeamMembers: Int = 3
    var numberOfEnemies: Int = 3
    var spaces: [[Space]] = []
    var selectedSpace: Space? = nil
    var characters: [Space: Character] = [:]
    var selectedCharacter: Character? = nil
    var attackableSpaces: [Space] = []
    var movableSpaces: [Space] = []
    var teams: [Team] = [] …
Run Code Online (Sandbox Code Playgroud)

swift swift-data ios17

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

我们如何将自定义结构/枚举与模型和谓词宏一起使用?

Swift 5.9 和新的 SwiftData 框架引入了@Model#Predicate宏。我们现在可以在模型中使用自定义枚举和结构,如下所示:

@Model
final class Item {
    var name: Name
    var nature: Nature

    struct Name: Codable {
        let base: String
        let suffix: String?
    }

    enum Nature: Int, Codable {
        case foo = 0
        case bar = 1
        case baz = 2
    }

    init(name: Name, nature: Nature) {
        self.name = name
        self.nature = nature
    }
}
Run Code Online (Sandbox Code Playgroud)

但是我们如何在 a 中使用它们呢Predicate?所有这些例子都失败了:

// Member access without an explicit base is not allowed in this predicate …
Run Code Online (Sandbox Code Playgroud)

swift swift-data

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

'NSInternalInconsistencyException',原因:'可见导航栏请求布局 Xcode 15.0 崩溃

我将 Xcode 更新到 15.0 并运行应用程序。当在 iOS 17 上运行应用程序时,我的应用程序崩溃并出现以下错误:

\n
\n

-[UINavigationBar layoutSubviews] 中的断言失败,UINavigationBar.m:3\xc2\xa0849 'NSInternalInconsistencyException',原因:'请求可见导航栏的布局

\n
\n

它仅发生在带有 Xcode 15.0 的 iOS 17 上。对于 Xcode 14.3 和 iOS 17 - 没有。对于 Xcode 15 和 iOS 16.4 - 没有。

\n
\n

*** 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“请求可见导航栏的布局,<UINavigationBar:0x15bd34ee0;帧=(0 47;428 44);自动调整大小=W;色调颜色 = UIExtendedGrayColorSpace 0 1; Layer = <CALayer: 0x2813b9f40>> delegate=0x15c049e00 standardAppearance=0x2837b03c0 rollEdgeAppearance=0x2837b02a0 compactAppearance=0x2837b0540 compactScrollEdgeAppearance=0x2837b0240,当顶部项目属于不同的导航栏时。topItem = <UINavigationItem: 0x15bf26070> titleView=0x160f04840 style=navigator backBarButtonItem=0x15bf5f4d0 rightBarButtonItems=0x281c93f90,导航栏 = <UINavigationBar: 0x15bd05d60; 帧=(0 47;428 44);自动调整大小=W;色调颜色 = UIExtendedGrayColorSpace 0 1; 层 = <CALayer: 0x2813be380>> delegate=0x15c056800 standardAppearance=0x2837fd5c0 rollEdgeAppearance=0x2837fd7a0 …

xcode xcode15 ios17

12
推荐指数
2
解决办法
2731
查看次数

如何在 Xcode 构建成功或错误时播放声音?

我想success.mp3在 Xcode 构建成功时播放声音,failure.mp3在 Xcode 构建失败时播放声音。我怎样才能这样做呢?但是,我可以使用此技巧在构建完成后播放声音,但需要区分成功和失败的情况。

audio xcode build

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

使用协议“YourProtocol”作为类型必须写为“any YourProtocol”错误

我在实施协议时遇到错误。

我已在名为“ ”的文件中声明了如下协议TransactionListViewViewModelItem.swift。以下是我在此文件中的内容

protocol TransactionListViewViewModelItemProtocol: Comparable {
    var transactionBookingDate: Date { get }
    var transactionPartnerDisplayName: String { get }
}

struct TransactionListViewViewModelItem: TransactionListViewViewModelItemProtocol {

    static func < (lhs: TransactionListViewViewModelItem, rhs: TransactionListViewViewModelItem) -> Bool {
        return lhs.transactionBookingDate < rhs.transactionBookingDate
    }
    
    static func == (lhs: TransactionListViewViewModelItem, rhs: TransactionListViewViewModelItem) -> Bool {
        return lhs.transactionBookingDate == rhs.transactionBookingDate
    }
    
    var transactionBookingDate: Date {
        transactionModel.transactionDetail.bookingDate.getTransactionDate()
    }
    
    var transactionPartnerDisplayName: String {
        transactionModel.partnerDisplayName
    }
    
    private let transactionModel: Transaction
    
    // MARK: - init
    init(transaction: Transaction) {
        transactionModel …
Run Code Online (Sandbox Code Playgroud)

protocols swift

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

我有最新版本的 Xcode,但我的模拟器不是最新版本 17.2。如何更新我的模拟器?

未安装 iOS 17.2。要下载并安装平台,请打开 Xcode,选择 Xcode > 设置 > 平台,然后单击所需平台的 GET 按钮。

Failed to build iOS app
Uncategorized (Xcode): Unable to find a destination matching the provided destination specifier:
{ id:68701885-51DD-4C52-8CD6-240BA3CE89A4 }

    Ineligible destinations for the "Runner" scheme:
        { platform:iOS, id:dvtdevice-DVTiPhonePlaceholder-iphoneos:placeholder, name:Any iOS Device, error:iOS 17.2 is not installed. To use with Xcode, first download and install the platform }
Run Code Online (Sandbox Code Playgroud)

我已经下载了最新版本的 Xcode。

xcode simulator flutter

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