小编bod*_*ich的帖子

Xcode 10上的模拟器变得非常慢

一切都在Xcode 9上运行完美.但在更新到Xcode 10后,模拟器开始出现巨大滞后.超级简单的动画正在以2 fps运行,整个Mac OS超级慢,而Simulator上的动画正在运行.谁知道会发生什么以及如何解决这个问题?任何应用程序或任何标准的iOS应用程序都是相同的可怕的慢.

解释 - 这不是关于我可以用Command⌘+ T切换的慢动作.我在谈论巨大的滞后.当UIView飞行时,它突然出现在另一个位置.不流畅的慢动画.2 fps不是慢动作.它是相同的快速运动,但在2 FPS!

ios ios-simulator xcode10

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

SwiftUI Sheet 永远不会从内存中释放对象

我发现一个非常奇怪的行为,sheet 或 fullScreenCover 不会释放传递给其 item: 参数的对象。

运行良好,并且在使用 Xcode 14 或 15 构建的iOS 16上释放了内存。 (模拟器、设备)

使用 Xcode 15 构建的iOS 17上内存泄漏且未释放。(模拟器,设备 17.0.2)

有人从苹果那里找到过这方面的信息吗?

更新: Apple 已在 iOS 17.2 上修复了此错误。因此,我们仅在 iOS 17.0...17.1 上出现此内存泄漏。

struct CoordinatorView: View {
    @State var sheetVM: SheetVM?
    
    var body: some View {
        Button {
            sheetVM = .init(dataGetter: {
                /// External injection needed here. This is just a simplified example
                try await Task.sleep(nanoseconds: 1_000_000_000)
                return "New title"
            })
        } label: {
            Text("Navigate")
        } …
Run Code Online (Sandbox Code Playgroud)

memory-leaks swift swiftui

17
推荐指数
2
解决办法
2259
查看次数

如何删除括号中的错误图标

我无法在偏好中找到任何可以隐藏这些恼人迹象的选项.我正在编写Photoshop脚本,错误检测工作绝对不正确.任何想法如何禁用它?它出现在新的Brackets版本中.

不需要的错误图标

javascript brackets syntax-error

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

SwiftUI:如何将单个工具栏或 ToolbarItem 保留在 NavigationView 堆栈中的下一个视图上?

应用于 NavigationView 目标的每个工具栏实际上都是单独的工具栏,并且一个工具栏通过不透明度过渡更改为另一个工具栏。

如何在下一个目标上保留一个工具栏或仅 ToolbarItem,因此它可以是动画的,例如,假设尾随 ToolbarItem 在 HStack 中包含 2 个按钮,并且我想插入另一个带有动画的按钮,就像我在一个按钮中那样单一视图?

想要完全控制 ToolbarItem,就像它是单个项目一样。

struct Temp_Preview: PreviewProvider {
    static var previews: some View {
        return NavigationView {
            NavigationLink {
                Text("TARGE TPAGE")
                    .toolbar {
                        ToolbarItem(placement: .navigationBarTrailing) {
                            ToolBarView(showExtraButton: true)
                        }
                    }
            } label: {
                Text("Next page")
                    .toolbar {
                        ToolbarItem(placement: .navigationBarTrailing) {
                            ToolBarView(showExtraButton: false)
                        }
                    }
            }

        }
        .navigationViewStyle(StackNavigationViewStyle())
    }
}

struct ToolBarView: View {
    let showExtraButton: Bool
    var body: some View {
        HStack {
            let buttonsCount = showExtraButton ? 3 : 2 …
Run Code Online (Sandbox Code Playgroud)

swift navigationview swiftui

6
推荐指数
0
解决办法
899
查看次数

如何仅将 SwiftUI 不透明度应用于父视图?

将不透明度应用于 SwiftUI 中的视图,并将其通过层次结构向下传递,看起来它的工作原理有点环境值。当每个子视图独立地受到不透明度影响时,它会导致该行为。无论我们将黄色圆圈与叠加层、背景还是放在 ZStack 内。

在此输入图像描述

我们怎样才能使不透明度只影响父视图,就像它在 UIKit 中的行为一样,这样整个视图及其所有内容都将变成半透明的单个实体对象?

struct OpacityTest: View {
    var body: some View {
        HStack(spacing: 30) {
            buttonContent
                .opacity(0.5)

            Button(action: {}) {
                buttonContent
            }
        }
    }
    
    var buttonContent: some View {
        Image(systemName: "calendar.circle")
            .resizable()
            .frame(width: 65, height: 65)
            .overlay(
                Circle()
                    .fill(Color.yellow)
                    .frame(width: 40, height: 40)
                    .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .topTrailing)
            )
    }
}

struct OpacityTest_Preview: PreviewProvider {
    static var previews: some View {
        OpacityTest()
    }
}
Run Code Online (Sandbox Code Playgroud)

更新: 正如 ChrisR 回答的那样, .drawingGroup() 完成了这项工作并部分解决了问题,但直到所有内容都在父视图边界内。一旦我们向覆盖层内的视图添加偏移量,它就会被裁剪。有机会避免吗?

.overlay(
    Circle()
        .fill(Color.yellow)
        .frame(width: …
Run Code Online (Sandbox Code Playgroud)

swift swiftui

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

当 NSPersistentCloudKitContainer 完成同步时如何得到通知?

当 NSPersistentCloudKitContainer 完成同步时如何得到通知?

我对上传Core Data 更改完成感兴趣,因为如果从服务器下载更改,Core Data 可以轻松通知。

core-data swift cloudkit nspersistentcloudkitcontainer

5
推荐指数
0
解决办法
92
查看次数

如何在 Vapor 4 中将正文(ByteBuffer)解码为内容?

当 ResponseReceipt 符合此处的内容协议时,我可以轻松解码 response.content,如 Vapor 文档中所述。

let receipt = try? response.content.decode(ResponseReceipt.self)
Run Code Online (Sandbox Code Playgroud)

但是使用Vapor的工具来解码response.body并不那么容易理解,因为它是ByteBuffer。如何以与 Vapor 类似的方式解码response.body?

json decode swift vapor

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

Java方法有时会被其中一个线程跳过

我在两个线程使用相同的方法时遇到了麻烦.

问题是:看起来当一个线程调用方法,并且方法正在运行,同时另一个线程尝试调用相同的方法时,Java只是跳过该调用!因此,当2个线程调用相同的方法时,该方法只被调用一次.因此,有时候随机编程只是跳过方法,代码根本不执行!怎么可能?在不同的机器上尝试,它的工作绝对不像预期,对我来说看起来像一个可怕的Java bug.

如果有任何专家会阅读本文,请说明发生了什么,如果已知问题,请给我解释的链接.谢谢!

PS:代码完全正常,你甚至可以将它粘贴到像repl.it或类似的在线java.在a.updateCounter(inc)之后; 我检查增量器是否工作(第45行).

class Main {
  public static void main(String[] args) {
    ThreadOne t1 = new ThreadOne(1000, 300, "Thread 1");
    ThreadOne t2 = new ThreadOne(1, 300, "Thread 2");
    Thread one = new Thread(t1);
    Thread two = new Thread(t2);
    one.start();
    two.start();
  }
}

class Accum {
  private static Accum a = new Accum();
  private int counter = 0;
  private Accum() {}
  public static Accum getAccum() {
    return a;
  }

  public void …
Run Code Online (Sandbox Code Playgroud)

java multithreading

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

如何解码许多可解码 Swift 中的单个异常属性?

我有一个符合可解码的结构。它有 50 个 String 属性和只有一个 Bool。该 bool 来自服务器,如字符串“false”/“true”或有时像整数 0/1,因此无法从框中解码。我怎样才能让它解码但不写大量的所有 50 个字符串属性的手动解码?也许以某种方式覆盖 Bool 的 decodeIfPresent,但我无法让它工作。我如何才能避免通过手动解码所有内容和所有内容并仅处理那个 Bool 来创建 init?如果可能,没有计算属性。

struct Response: Decodable {
    var s1: String
    var s2: String
    var s3: String
    //...........
    var s50: String
    var b1: Bool
    var b2: Bool
}
Run Code Online (Sandbox Code Playgroud)

这是 json 示例:

{
    "s1":"string"
    "s2":"string"
    "s3":"string"
    //..........
    "s50":"string"
    "b1":"true"
    "b2":"0"
}
Run Code Online (Sandbox Code Playgroud)

试过这个但不起作用(((

extension KeyedDecodingContainer { //Doesn't work, no execution
    func decodeIfPresent(_ type: Bool.Type, forKey key: K) throws -> Bool {
        return try! self.decodeIfPresent(Bool.self, forKey: key)
    }
    func decodeIfPresent(_ …
Run Code Online (Sandbox Code Playgroud)

json swift codable decodable encodable

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