V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  agagega  ›  全部回复第 70 页 / 共 267 页
回复总数  5336
1 ... 66  67  68  69  70  71  72  73  74  75 ... 267  
2022-06-03 12:11:13 +08:00
回复了 MakHoCheung 创建的主题 问与答 关于 SwiftUI 的 MVVM
我没能太理解你的问题。

@ ObservedObject 和 @ State 标记都是用来做数据绑定的,View 里如果引用到了这些标记的变量,当它们改变时,View 也会对应更新。

之所以要区分 ObservedObject 和 State ,是因为 Swift 不同于 JS ,是一个严格区分值语义和对象语义的语言。Swift 中,struct 和大部分没有 NS 前缀的内置类型都是值语义,即任何一部分被修改了都会视为整个对象被修改;而 class 和 Foundation 里 NS 开头的类型都是对象语义,对它们属性的修改并不会被视为对整个对象的修改。

因为 MVVM 的核心就是追踪绑定数据的改变,所以 SwiftUI 必须区别对待值语义变量和对象语义变量。对值语义用 @ State ,任何修改都会简单触发 View 重新渲染;对对象语义用 @ ObservedObject ,被它修饰的类型都要满足 ObservableObject 这个协议,这些类型中任何被 @ Published 修饰的成员发生修改,整个对象就会触发 objectWillChange 事件。

这和 ViewModel 本身没有关系,只是因为 ViewModel 本来就是我们自己定义出来封装事件逻辑的模块,所以通常会实现为 class ,然后加上 @ ObservedObject 做修饰。

SwiftUI 里还有个修饰符叫 @ StateObject ,也是修饰对象语义的,和 ObservedObject 的区别在于后者不会维护对象的生命周期,而 StateObject 在生命周期上和 State 类似,由当前组件来维护。
2022-06-03 02:04:26 +08:00
回复了 none 创建的主题 Linux 用 GTK+开发的 GUI 应用在 Ubuntu 上运行很流畅,在 Mac 上却很卡
在 Mac 上用过 InkScape 和 GIMP ,都很卡,大概是优化不够。Windows 上没试过。相比 Qt ,GTK+更像是 Linux 环境里的原生 Toolkit ,也不意外
2022-06-02 10:38:36 +08:00
回复了 yazinnnn 创建的主题 程序员 JVM 战士请教一个问题,各种语言都是怎样控制内存上限的?
如果 Java 里面已占用内存超过这个最大值但是又不能 GC 怎么办?
👍看到越来越多 SwiftUI 写的作品
2022-06-01 22:10:41 +08:00
回复了 berserk 创建的主题 C++ 求推荐简明的 C++教程,给我的师弟用。
《 C++ for the impatient 》,有中文译版,不错的书
2022-06-01 22:04:06 +08:00
回复了 kasper4649 创建的主题 NAS 感觉自己并不需要真正的 NAS
有时候我也很想搞 NAS ,但理清需求,NAS 说实话对现阶段自己而言还是就存存电影这种体积大又不需时刻同步的文件。个人文档体积小,但是需要经常在外面查看和修改,更适合公有云。

我用 OneDrive 超过十年了(当年还叫 SkyDrive ),十年前的文件还安然躺在里面,同时期电脑里的某些文件早就随设备变迁丢失。更何况目前很多所谓成品 NAS 软件水平根本不行(防杠:至少在我自己看来),App 体验别说和 Dropbox 这类做得好的比,和国内的微云比也没有多出彩,这还不提 OneDrive 和 Office 以及 Win/Mac 系统 API 的深度整合。可能这也是时常看到有人吐槽 Nextcloud 不稳定,但还是有很多人喜欢它的原因:生态。一些人觉得能有个稳定地方存文件就够了,另一些人想要完整的跑在自家服务器的个人云,本质需求不同。

所以我给自己折腾 NAS 定了原则:买硬盘可以,买主机可以,折腾开源方案或者自己动手写也可以,但不买某晖某通这种成品😁
2022-05-31 21:15:46 +08:00
回复了 artikyo 创建的主题 问与答 LLVM Kaleidoscope 教程第五章如何运行?
这个文件已经是 v1 API ,被移除了: https://github.com/llvm/llvm-project/commit/6154c4115cd4b78d0171892aac21e340e72e32bd

应该是 Kaleidoscope 教程没更新
2022-05-31 20:19:20 +08:00
回复了 Z5460520 创建的主题 上海 准备去上海工作了,请问上海的长租公寓靠谱吗?
@Z5460520
抓着中介问房子是哪年装修的就行,自己基本也能看出来新旧。三年前市场上还有挺多刚装修好的新房间,经过两三年还在市场上,可以租了。
有,QQ 邮箱
2022-05-28 12:43:37 +08:00
回复了 israinbow 创建的主题 Windows Windows 终于开始有统一设计了.
现在觉得 Windows 和 macOS 都比较赏心悦目,反而是 KDE 默认窗口样式太难看了
2022-05-27 18:45:54 +08:00
回复了 ruanmeibi 创建的主题 Apple 疫情 Apple Store 全关, AppleCare 苹果给延期吗?
今天打电话问过了,本来是准备给 AC+续期( iPad 自己的「 Apple 支持」 App 里显示 6 月前都可以延期,即 AC+到期后的一个月内),但那边确定说在直营店买的 2 年 AC+不能续期,只有自己在 iPad 里按年续费的才可以,我不理解这是什么逻辑。

然后我又提到了设备维修怎么办,那边问在 AC+到期之前是否有相同问题的电话记录,我说没有。最后客服还是说可以在解封后去直营店通过电话 support 的单号和隔离证明(?)要求使用 AC+权益。不知道到时候直营店里有什么说法,但有类似情况的人应该很多
因为你在主流平台都能找到内置的 JavaScript 环境,大家会预期如果一个服务可以跑代码那么一定能跑 JS
2022-05-27 02:18:21 +08:00
回复了 msdurex 创建的主题 Apple Apple 中国本地化团队能不能别添乱了?
奇葩翻译是 iOS 11 引入的,应该是顺应某些政策要求,毕竟新闻里 NBA 都不能叫 NBA 而叫美职篮,一开始只有简中有,后来繁中也有了。至于闪电和雷雳,翻译出来这么久都没啥人用确实挺失败的…
2022-05-26 12:38:39 +08:00
回复了 ilxv 创建的主题 Chrome Chrome 是越来越强硬了
@Buges
当初推 Rust 就是为了打造 Servo ,现在 Rust 火了,Servo 没了
2022-05-26 01:04:47 +08:00
回复了 liuidetmks 创建的主题 程序员 为什么国内网站喜欢用短信作二次验证,而不用 TOTP?
1. 因为手机号是必需的,有实名制需求
2. 国内产品经理理解的易用不是简洁,而是把用户当成啥也不知道的猪
2022-05-26 01:00:52 +08:00
回复了 sampeng 创建的主题 程序员 写了一段时间 Golang,我很纳闷,为啥 Golang 这么火
要是 Swift 不是 Apple 而是另一家大厂推的,可能在服务器端会有更多市场吧
2022-05-25 20:25:06 +08:00
回复了 rowling 创建的主题 macOS Magic Trackpad 不如 Macbook Pro 的自带触控板顺滑,不会翻车了吧
只有 29 楼说出了外置触控板采样率没有内置高这个事。楼主觉得不跟手也可能是蓝牙干扰的原因,插线用试试
2022-05-24 22:10:10 +08:00
回复了 singerll 创建的主题 分享发现 智能家居实属魔怔了
这么多智能家居,就没有几个和 HomeKit 兼容好的,
2022-05-24 19:00:40 +08:00
回复了 frankfang1995 创建的主题 职场话题 码农是不是新的蓝领工作
V 站日常吹码农外所有职业 (1/1)
1 ... 66  67  68  69  70  71  72  73  74  75 ... 267  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2914 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 72ms · UTC 00:14 · PVG 08:14 · LAX 17:14 · JFK 20:14
Developed with CodeLauncher
♥ Do have faith in what you're doing.