在macos下运行redis命令为啥

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在macos下运行redis命令为啥相关的知识,希望对你有一定的参考价值。

参考技术A 在MacOS下运行Redis命令的原因是,Redis是一个高性能的开源内存数据库,可以用来存储复杂的数据结构,并且可以支持多种客户端语言,因此在MacOS下可以使用Redis的命令行工具来进行数据库操作。

为啥相同的 SwiftUI 代码可以在 iOS 上运行而在 macOS 上失败?

【中文标题】为啥相同的 SwiftUI 代码可以在 iOS 上运行而在 macOS 上失败?【英文标题】:Why does identical SwiftUI code work on iOS and fail on macOS?为什么相同的 SwiftUI 代码可以在 iOS 上运行而在 macOS 上失败? 【发布时间】:2021-04-29 10:28:57 【问题描述】:

我使用 Multiplatform 模板构建了一个简单的 SwiftUI 应用程序。它为 iOS 和 macOS 编译,没有错误或警告。所有代码都在共享文件中,我没有添加任何特定于 iOS 或 macOS 的代码。

它可以在 iPhone 和 iPad 模拟器上正常运行。它也似乎在 macOS 上运行,产生了我期待的界面,但 它在后台无法正常工作。没有崩溃,只是不正确的行为。预期会发生的只是用户将数据输入到 TextFields 中,然后对其进行验证并添加到 UserDefaults 中。在 iOS 版本中,无效数据被拒绝(字段恢复为默认值),有效数据存储在 UserDefaults 中,完全符合预期。在 macOS 版本(相同代码)中,所有输入都被拒绝(字段恢复为默认值)。

有什么想法吗?在 SwiftUI 在 macOS 上运行之前需要额外的东西吗?

【问题讨论】:

没有Minimal Reproducible Example 无法帮助您解决问题。 正在研究一个,我已经解决了这个问题并发现了一个 Apple 错误!将其添加到我的问题中并关闭它。 【参考方案1】:

研究一个例子,我发现了解决方案。

这是我发现的:

在 iOS 上,当一个字段获得焦点时它会发出 onEditingChanged(true),而当它在没有提交的情况下失去焦点(即)它会发出 onEditingChanged(false);当它通过提交丢失它时,它会发出 onCommit(),然后发出 onEditingChanged(false)。恕我直言,最后两个的逻辑顺序不正确。我认为您停止编辑,然后才提交。

在 macOS 上,当一个字段获得焦点时,它会保持沉默,但一旦你输入任何内容,它就会发出 onEditingChanged(true);当它在有或没有提交的情况下失去焦点时,它会发出 onEditingChanged(false),然后是 onCommit()。恕我直言,这些以正确的逻辑顺序到达,但我们无法区分提交和放弃编辑。

谁能建议如何区分这些情况?

【讨论】:

以上是关于在macos下运行redis命令为啥的主要内容,如果未能解决你的问题,请参考以下文章

redis在macOS上的安装及与springboot的整合使用

Redis安装

Redis停止的命令

mac与centos下redis的安装与配置

Redis命令

怎么将redis设置为windows