小编Mik*_*iss的帖子

file viewController.swift是忽略导入的模块"coreData"的一部分

我试图导入CoreData,它提出了一个警告"文件viewController.swift是模块的一部分"coreData"忽略导入" 一个屏幕截图

import UIKit
import CoreData

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}
Run Code Online (Sandbox Code Playgroud)

xcode core-data ios swift

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

.frame(height: nil) 的 SwiftUI 行为

问题

我收到一个线程问题,上面写着“无效的框架尺寸(负或非有限)”。

这是我的代码:

struct CellStyle: ViewModifier {
    func body(content: Content) -> some View {
        内容
            .frame(宽度:.infinity,高度:56,对齐方式:.center)
            .padding(.horizo​​ntal, 16)
    }
}

代码运行良好,我似乎做了它应该做的,所以我很困惑为什么它给我线程问题。为什么代码会在没有有限宽度/高度的情况下运行,与 Apple 文档相矛盾?(请参阅下面的“一些阅读”部分)

修复

这段代码很好地解决了这个问题,但我仍然希望我理解为什么以前的代码不会崩溃或产生错误。

struct CellStyle: ViewModifier {
    func body(content: Content) -> some View {
        内容
            .frame(高度:56,对齐:.center)
            .frame(maxWidth: .infinity)
            .padding(.horizo​​ntal, 16)
    }
}

据我所知,它给了我那个线程问题,因为我告诉我.frame,我想要一个不是有限的宽度,它想要一个有限的宽度。

堆栈溢出的其他问题

我发现了两个问同样问题的问题:
iOS 14 Invalid frame dimension (negative or non-finite)

SwiftUI iOS14 GeometryReader 无效的框架尺寸

在第一个问题中,线程问题是有道理的,因为给定代码.frame(width: p.size.width - padding),不能保证p.size.width小于padding. 因此,据我所知,这是一个给定值可能为负的问题。
我遇到的这个问题与给定的值不是有限的有关,所以这些问题不相关。
第二个问题还没有回答,有点含糊,所以现在对我来说不是那么有帮助。也许稍后有人会回答一个有用的答案,但到目前为止,它没有帮助。

一些阅读

查看Apple 文档,我发现:

使用此方法为视图的宽度、高度或两者指定固定大小。如果您仅指定其中一个维度,则生成的视图将假定此视图在另一个维度中的大小调整行为。 …

swift swiftui

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

左栏按钮项目

因此,如果您的导航控制器没有条形按钮项目,则导航后退按钮将显示最后一个视图控制器的名称,我想保留它,因为我不想对其进行硬编码.我确实知道如何添加它但我不想这样做,因为这留下了更多的bug空间.有没有办法,我可以有一个左栏按钮项目,默认的一个不会消失?

xcode uinavigationbar uibarbuttonitem backbarbuttonitem swift

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