小编iOS*_*com的帖子

如何使用Swift Decodable协议解码嵌套的JSON结构?

这是我的JSON

{
    "id": 1,
    "user": {
        "user_name": "Tester",
        "real_info": {
            "full_name":"Jon Doe"
        }
    },
    "reviews_count": [
        {
            "count": 4
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

这是我想要保存的结构(不完整)

struct ServerResponse: Decodable {
    var id: String
    var username: String
    var fullName: String
    var reviewCount: Int

    enum CodingKeys: String, CodingKey {
       case id, 
       // How do i get nested values?
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经查看了Apple的解码嵌套结构的文档,但我仍然不明白如何正确地执行不同级别的JSON.任何帮助都感激不尽.

json swift swift4 codable

71
推荐指数
5
解决办法
3万
查看次数

使用默认值在Mac上从命令行修改Plist

有没有人知道如何使用默认值从命令行修改Plist文件?目前URL types阵列下有两个词典; 我需要添加另一个.

在此输入图像描述

我尝试的每个命令都要么替换整个字典,要么创建一个新的数组URL types而不是编辑它.有关如何在默认设置(控制台Mac应用程序)而不是 PlistBuddy中完成此操作的任何想法?

macos shell console plist property-list

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

CoreFoundation框架的目的是什么?

我使用NSObjects等在Objective-C Cocoa中编程了一段时间.我看到还有另一个框架:CoreFoundation.我看一下,它似乎是一个C风格的框架.

所以我有一些好奇心,我想澄清一下.我用谷歌搜索,但没有找到直接答案.

  1. CoreFoundation框架的目的是什么?
  2. Cocoa Framework不提供已经需要的所有东西吗?
  3. CoreFoundation Framework是否提供了CocoaFramework无法提供的任何优势?

这些是我的一些问题.如果有人能够提供答案,或者为我提供阅读资源的资源,那就太棒了.我想知道它是否值得更多地了解该框架.

cocoa objective-c core-foundation

22
推荐指数
2
解决办法
6959
查看次数

如何为iOS 13的SF符号设置权重?

我有这个

Image(systemName: "arrow.right")
Run Code Online (Sandbox Code Playgroud)

但是我如何使其变为粗体,半粗体等?

我正在使用新的SwiftUI。

ios swift swiftui sf-symbols

16
推荐指数
7
解决办法
2025
查看次数

什么时候我应该使用强弱对弱IBOutlets(进一步澄清)

我以为我从这个问题中清楚地理解了这一点 - > 在ARC下IBOutlets是强还是弱?但我最近进行了一次讨论,让我完全糊涂了.有人可以确认以下是否正确?(如果这是一个副本,我并不打算违反任何规则..只需要澄清,因为我可以理解图表比文字更好..)

在此输入图像描述

ARC下(MacOSx)

  1. view1 =强
  2. MainView = weak(在WindowControllerA中)
  3. MainView = strong(在ViewControllerB中)
  4. view2 =强
  5. view3 = weak(在ViewcontrollerB中)
  6. view3 = strong(在ViewControllerC中)

如果这是正确的,那么有人可以确认..

在上图中,我们在屏幕上有一个windowControllerA .在windowControllerA的视图中,有2个NSView.view1属于windowController,但是mainView属于insregciated viewController,ViewControllerB的视图.

ViewControllerB在其mainView中还包含2个视图.View2由viewControllerB拥有,而view3属于另一个实例viewController,ViewControllerC.

ViewController C拥有一个它拥有的视图.

cocoa objective-c iboutlet

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

如何在SwiftUI中删除列表的左右填充?

如何在SwiftUI中删除列表的左右填充?我创建的每个列表都有一个单元格的开头和结尾的边界。

我应该添加什么修饰符以删除此内容?

swift swiftui

13
推荐指数
10
解决办法
2462
查看次数

如何使用SwiftUI具有动态视图列表

我可以做一个静态列表

List {
   View1()
   View2()
}
Run Code Online (Sandbox Code Playgroud)

但是,如何从数组中动态生成元素列表?我尝试了以下操作,但出现错误:包含控制流语句的闭包不能与函数生成器“ ViewBuilder”一起使用

    let elements: [Any] = [View1.self, View2.self]

    List {
       ForEach(0..<elements.count) { index in
          if let _ = elements[index] as? View1 {
             View1()
          } else {
             View2()
          }
    }
}
Run Code Online (Sandbox Code Playgroud)

有什么解决办法吗?我要完成的工作是一个列表,其中包含不是静态输入的动态元素集。

ios swift swiftui xcode11

13
推荐指数
4
解决办法
3805
查看次数

如何使用LazyVGrid或LazyHGrid根据大小获取显示内容?

是否可以使用 LazyVGrid 或 LazyHGrid 来获得这样的视图?

在此输入图像描述

文本值在框中呈现,如果右边框附近没有更多空间,则从下一行开始。

我尝试过使用 LazyGrids 但似乎因为我需要给出最小列宽

LazyVGrid(columns: [
   GridItem(.adaptive(minimum: 60)),
],
Run Code Online (Sandbox Code Playgroud)

文本被截断。有什么办法可以使用网格来完成上图中的视图吗?

swiftui

11
推荐指数
0
解决办法
5185
查看次数

在可组合项 vue3 中使用 props

我正在将应用程序从 vue 2 升级到 vue 3,但在可组合项方面遇到了一些问题。我想在可组合项中使用道具,但它似乎不起作用。代码示例是从工作组件中提取的,当我将其留在组件中时,它可以正常工作。

我认为defineProps可组合项不支持,但我不清楚如何处理它。当我传递src参数时,它会失去反应性。

// loadImage.js
import { defineProps, onMounted, ref, watch } from 'vue'

// by convention, composable function names start with "use"
export function useLoadImage() {
  let loadingImage = ref(true)
  let showImage = ref(false)
  const props = defineProps({
    src: String,
  })
  const delayShowImage = () => {
    setTimeout(() => {
      showImage.value = true
    }, 100)
  }
  const loadImage = (src) => {
    let img = new Image()
    img.onload = (e) => …
Run Code Online (Sandbox Code Playgroud)

vue.js vuejs3 vue-composition-api vue-script-setup

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

iOS权限警报 - 删除或禁止

我有一个在ios模拟器上运行的简单应用程序(将在应用程序中的某个时刻),提示用户授权以下内容:

  1. 位置设置
  2. 地址联系簿
  3. 图片/相册

因为我在iOS模拟器上进行自动化测试(在虚拟机上有数千个),有没有办法强制iOS模拟器在安装应用程序时将这些权限设置为yes?

我依稀记得有一种方法可以使用与iOS模拟器关联的plist文件来操纵它,但我不是百分之百确定"它是否在我脑海中".我在谷歌上找不到太多东西.

objective-c ios ios-simulator ios-permissions

10
推荐指数
2
解决办法
3676
查看次数