小编Dam*_*aux的帖子

如何在Safari 8或更高版本中检查HTTP请求

我似乎无法找到一种方法来查看safari发送到Web服务器的原始HTTP请求.有谁知道你如何在Safari 8中做到这一点.

我确实设法在Web检查器的资源选项卡中找到一些HTTP标头 在此输入图像描述 但我希望看到原始(纯文本)HTTP请求

提前致谢

safari

44
推荐指数
4
解决办法
7万
查看次数

如何在 SwiftUI 中以降低的透明度获取菜单项的 AccentColor 背景?

使用 AppKit,您可以将NSMenuItems 添加到NSMenu. 我看到SwiftUI中有一个类似NSMenu的东西,即MenuButton. 但我找不到任何有关其工作原理的文档。

我尝试了以下方法:

MenuButton("+") {
    Button("New contact") { print("Create new contact") }
    Button("New group") { print("Create new group") }
}
Run Code Online (Sandbox Code Playgroud)

这给了我这个

打开的菜单按钮

它看起来几乎没问题,但是当我在系统首选项中启用“降低透明度”时

  • 这些按钮的背景颜色与菜单不同(请注意菜单项上方和下方的颜色稍浅)。
  • 当我将鼠标悬停在菜单项上时,它们的背景颜色不会像普通 macOS 菜单那样发生变化。见下图:

突出显示的菜单项

我还尝试使用修改器手动更改背景颜色.background(),但这不会影响菜单项的整个宽度。

MenuButton("+") {
    Button("New contact") { print("Create new contact") }
        .background(Color.accentColor)
    Button("New group") { print("Create new group") }
}
Run Code Online (Sandbox Code Playgroud)

手动更改背景的菜单

我想这是因为我将Buttons 放在里面,MenuButton而它可能需要一些其他 SwiftUI 元素。我应该在 MenuButtons 中放置哪些元素来创建一个看起来正常的 macOS 菜单,如下所示?

在 Catalina 上正确呈现 MenuButton

[更新]macOS Big Sur

我也在大苏尔尝试过这个。虽然背景渲染正确,但在大苏尔,文本颜色现在很混乱。

Big Sur 上的菜单突出显示不正确

macos swift swiftui

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

如何在Interface Builder中使用故事板时更改NSTableCellView的高度

当我创建一个非故事板OSX应用程序并将对象库中的表视图添加到Interface Builder中的主窗口时,我能够在该表视图中更改NSTableCellView的高度. 使用xib文件时行高是正确的 这样做会自动更改TableView的行高(即使我运行应用程序时). 运行基于xib的应用程序

但是当我创建一个Storyboard应用程序并按照完全相同的步骤(添加Table View,更改cellView的高度)时,TableView的行高不会改变,导致在运行应用程序时裁剪NSTableCellView.运行基于故事板的应用程序

我知道你可以实现这个heightForRowAtIndexPath方法,但我只是想知道为什么这在使用xib文件时起作用并在使用故事板时停止工作.(我真的觉得以图形方式设计接口比在文本文件中写下任意数字要容易得多.)

这里有什么我想念的吗?使用故事板,最简单的方法是什么?

xcode interface-builder storyboard tableview nstablecellview

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

同时填充数组

我在 Swift 5 中遇到了并发和数组问题。为了重现这个问题,我将代码简化为以下片段:

import Dispatch

let group = DispatchGroup()
let queue = DispatchQueue(
  label: "Concurrent threads",
  qos: .userInitiated,
  attributes: .concurrent
)

let threadCount = 4
let size = 1_000
var pixels = [SIMD3<Float>](
  repeating: .init(repeating: 0),
  count: threadCount*size
)

for thread in 0..<threadCount {
  queue.async(group: group) {
    for number in thread*size ..< (thread+1)*size {
      let floating = Float(number)
      pixels[number] = SIMD3<Float>(floating, floating, floating)
    }
  }
}

print("waiting")
group.wait()
print("Finished")
Run Code Online (Sandbox Code Playgroud)

当我使用 Xcode 版本 10.2 beta 4 (10P107d) 在调试模式下执行此操作时,它总是崩溃并显示如下错误:

Multithread(15095,0x700008d63000) malloc: …
Run Code Online (Sandbox Code Playgroud)

memory memory-management grand-central-dispatch swift swift5

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

在javascript中的闭包中重新定义变量之前访问变量

请考虑以下代码

var scope = "global scope";
function checkscope() {
    console.log(scope);
    var scope = "local scope";
    console.log(scope);
}
checkscope();
Run Code Online (Sandbox Code Playgroud)

这将在控制台中打印以下内容

undefined
local scope
Run Code Online (Sandbox Code Playgroud)

为什么第一次console.log打印undefined而不是"global scope"

javascript

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

SwiftUI - 相对于其锚点定位覆盖层

我有一个包含 2 个视图的 ZStack:

  • ReferenceContent - 有一些内容和一个分隔符。这是屏幕上的主要内容

  • popoverContent - 是一个条件弹出窗口,仅占据屏幕的一小部分。

var body: some View {
  ZStack {
    referenceContent

    if popoverCondition {
      popoverContent
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我希望popoverContent的顶部边缘与referenceContent的底部对齐

有人知道如何实现这一点吗?或者有没有比我现在更好的方式来查看这个弹出窗口?谢谢!

xcode swift swiftui

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

数组扩展,其中元素是Swift中的通用结构

如何扩展具有通用类型的结构数组?请查看以下代码以了解我要执行的操作。

struct MyStruct<T: MyProtocol> {
   ...
}

extension Array where Element: MyStruct<T> { // Not sure if T is supposed to be on this line.

    func doWork() -> [T] {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

基本上,我将如何编写扩展以使方法返回传递给该结构的泛型类型的数组。

generics swift

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

Swift 4 从自定义 JSON 对象解码为不同的模型

我有一个生成不同 json 对象的 websocket。对象不能包含任何公共字段

{
    "type": "apple",
    "kind": "fruit",
    "eatable": true
}
{
    "item": "key",
    "active": true 
}
{
    "tool": "screwdriver",
    "original": "toolBox",
    "cross-head": true
}
Run Code Online (Sandbox Code Playgroud)

我有一个它们的类列表(它们可能包含一些逻辑),所以我需要解析它以映射一些具有某种层次结构的模型,例如尝试解析水果如果它们失败尝试解析键如果它们尝试解析工具箱失败。有时我需要添加一些新类来解析一些对象和一些新字段到现有类。
如何组织采摘类进行解析?

更新

  1. 我无法控制后端数据,因此无法向我拥有的 JSON 添加任何字段。
  2. 对象一次一个。我对其中的大多数都有单独的类模型。问题是选择正确的类来映射 JSON 字段。

json swift

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