首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Swift社区

    Swift 5.2 将 KeyPaths 用作函数

    Swift 5.2 的新功能之一:能够将 KeyPaths 用作函数。如果您只在闭包中返回某个 KeyPath 的值,这将非常有用。

    71920发布于 2021-11-26
  • 来自专栏韦弦的偶尔分享

    Swift 5.2 将KeyPaths用作函数

    Swift 5.2的新功能之一:能够将KeyPaths用作函数。如果您只在闭包中返回某个KeyPath的值,这将非常有用。 ? keyPaths as Functions 在Swift 5.2 之前: struct Student { let id: Int let name: String let age: Int

    64400发布于 2020-03-19
  • 来自专栏技术总结

    FBKVOController源码剖析与学习

    observe object with info [self _observe:object info:info]; } - (void)observe:(nullable id)object keyPaths :(NSArray<NSString *> *)keyPaths options:(NSKeyValueObservingOptions)options block:(FBKVONotificationBlock = keyPaths.count && NULL ! = block, @"missing required parameters observe:%@ keyPath:%@ block:%p", object, keyPaths, block); if *keyPath in keyPaths) { [self observe:object keyPath:keyPath options:options block:block]; } }

    1.1K40发布于 2018-09-30
  • 来自专栏程序员充电站(itcharge)

    iOS 开发:『Crash 防护系统』(二)KVO 防护

    return isSystem; } #pragma mark - YSCKVOProxy 相关 @interface YSCKVOProxy : NSObject // 获取所有被观察的 keyPaths Warning : %@",[exception description]]; NSLog(@"%@",reason); } } } // 获取所有被观察的 keyPaths - (NSArray *)getAllKeyPaths { NSArray <NSString *>*keyPaths = _kvoInfoMap.allKeys; return keyPaths KVODefenderKey); if ([value isEqualToString:KVODefenderValue]) { NSArray *keyPaths The Keypaths is:'%@'", self, [keyPaths componentsJoinedByString:@","]]; NSLog(@"%

    5.1K41发布于 2020-10-26
  • 来自专栏Swift社区

    苹果被起诉!市值一夜蒸发8000亿元 | Swift 周报 issue 50

    Swift论坛1) 提议Metatype Keypaths内容概括Metatype Keypaths提议称为 “Metatype Keypaths” 的提议由艾米丽特·卡尔和保尔·耶斯基夫提出。 该提议旨在允许键路表达式访问类型静态属性,也叫做 metatype keypaths。截至 3 月 18 日,2024 年,该提议正在等待实施。 动机为了添加 metatype keypaths 到 Swift 语言中,该提议旨在解决挑战并改善语言语义。 该提议指出,metatype keypaths 曾在提议 SE-0254 中探讨过,并被推荐作为未来方向。 有些开发者提出了采用 metatype keypaths 对源代码兼容性的影响,而另一些开发者提出了对 Equatable对metatype keypaths 的行为。

    58332编辑于 2024-07-01
  • 来自专栏技术之路

    分解uber依赖注入库dig-源码分析

    看这一段代码 case resultSingle: k := key{name: r.Name, t: r.Type} cv.keyPaths[k] = path // ....... case resultGrouped: k := key{group: r.Group, t: r.Type} cv.keyPaths[k] = path } 其中的t: r.Type就是返回值参数的类型

    1K40发布于 2021-05-10
  • 来自专栏Swift社区

    新广告引发不满,苹果也染上了“大厂病” | Swift 周报 issue 53

    5) 提议Metatype Keypaths内容概括本次投稿中讨论的是一个新功能,称为 metatype keypaths,旨在扩展 Swift 编程语言中的 keypath 表达式。 为什么要做这个改变投稿指出,在讨论过去的一个投稿中曾经探讨过 metatype keypaths,但最终被推荐作为未来方向。 例如:let kp = .someType[staticProperty].someOtherProperty访问语义静态属性与不可变实例属性一样,都形成只读的 keypaths。 但与实例成员不同,可变静态属性的 keypaths 将遵守 ReferenceWritableKeyPath 协议,因为 metatype 是引用类型。 总结metatype keypaths 在 Swift 编程语言中的投稿得到了积极反馈,拥有 53 个赞同和 14 条评论。该功能允许 keypath 表达式直接引用静态属性,而不需要使用技巧或绕过。

    94832编辑于 2024-07-08
  • 来自专栏Helloted

    KVO编程指南

    + (NSSet *)keyPathsForValuesAffectingValueForKey:(NSString *)key { NSSet *keyPaths = [super keyPathsForValuesAffectingValueForKey isEqualToString:@"fullName"]) { NSArray *affectingKeys = @[@"lastName", @"firstName"]; keyPaths = [keyPaths setByAddingObjectsFromArray:affectingKeys]; } return keyPaths; } 你也可以采用 keyPathsForValuesAffecting

    1.3K20编辑于 2022-06-07
  • 来自专栏Rust语言学习交流

    【Rust日报】2022-06-27 Rust 中使用 wasm 来执行 OPA 策略

    (person.size.heft, 101); 原文链接:http://www.cmyr.net/blog/keypaths.html keypath github 地址:https://github.com

    53920编辑于 2022-11-28
  • 来自专栏容器计算

    Spark Kubernetes 的源码分析系列 - features

    hasHadoopConf => // 如果有环境变量,就从环境变量指定的路径获取 val confVolume = if (confDir.isDefined) { val keyPaths HADOOP_CONF_VOLUME) .withNewConfigMap() .withName(newConfigMapName) .withItems(keyPaths.asJava

    1.1K20发布于 2020-08-06
  • 来自专栏golang算法架构leetcode技术php

    uber-go/dig 源码阅读

    func (s *Scope) findAndValidateResults(rl resultList) (map[key]struct{}, error) { var err error keyPaths = make(map[key]string) walkResult(rl, connectionVisitor{ s: s, err: &err, keyPaths : keyPaths, }) 3,Invoke执行对象初始化过程 go.uber.org/dig@v1.15.0/invoke.go func (c *Container) Invoke(function

    1.2K20编辑于 2022-12-17
  • 来自专栏Swift社区

    Swift 周报 第二十二期

    Text("There are \(text.count) letters in your word") } } } 发布 AsyncObjects 2.0[19] 提议添加 KeyPaths integrating-a-function-into-a-struct/62634 [19] AsyncObjects 2.0: https://forums.swift.org/t/released-asyncobjects-2-0/62664 [20] 添加 KeyPaths Boolean自定义运算符: https://forums.swift.org/t/pitch-add-keypaths-boolean-custom-operators/62626 - EOF -

    88120编辑于 2023-03-01
  • 来自专栏iOS小生活

    KVO详解(一)

    keyPathsForValuesAffectingValueForKey方法,如下: + (NSSet<NSString *> *)keyPathsForValuesAffectingValueForKey:(NSString *)key{ NSSet *keyPaths downloadProgress的所有子因素的集合 NSArray *affectingKeys = @[@"totalData", @"writtenData"]; keyPaths = [keyPaths setByAddingObjectsFromArray:affectingKeys]; } return keyPaths; } 然后在外界给LVPerson

    1K31发布于 2021-03-25
  • 来自专栏肘子的Swift记事本

    苹果为傲慢付出了代价 | 肘子的 Swift 周报 #082

    其中,Metatype Keypaths[7]就是我当前项目中急需的能力,它使得我们可以使用 key path 访问类型的静态属性,不再受限于实例成员。 : https://l.fatbobman.com/w082-01 [6] Paul Hudson: https://x.com/twostraws [7] Metatype Keypaths: https

    52410编辑于 2025-05-06
  • 来自专栏iOS 技术分享

    iOS - 关于 KVO 的一些总结

    totalData: + (NSSet<NSString *> *)keyPathsForValuesAffectingValueForKey:(NSString *)key { NSSet *keyPaths isEqualToString:@"downloadProgress"]) { NSArray *affectingKeys = @[@"writtenData",@"totalData"]; keyPaths = [keyPaths setByAddingObjectsFromArray:affectingKeys]; } return keyPaths; } 实现一个遵循命名规则为keyPathsForValuesAffecting

    2.9K21发布于 2020-04-16
  • 来自专栏cc log

    Swift 3到5.1新特性整理

    canImport函数 targetEnvironment函数 flatMap改名为compactMap Swift 4.0 Coodable协议 多行字符串字面量 改进Key-value编码中的keypaths beginning," the King said gravely, "and go on till you come to the end; then stop." """ 改进Key-value编码中的keypaths keypaths是指对属性的引用而不去真正读取属性的值。

    5.5K20编辑于 2022-08-16
  • 来自专栏TBOOX开源工程

    xmake v2.5.1 发布, 支持 Apple Silicon 并改进 C/C++ 包依赖管理

    local keypaths = winos.registry_keys("HKEY_LOCAL_MACHINE\\SOFTWARE\\*\\Windows NT\\*\\CurrentVersion\ \AeDebug") for _, keypath in ipairs(keypaths) do print(winos.registry_query(keypath ..

    1.3K20发布于 2021-02-19
  • 来自专栏信数据得永生

    JAX 中文文档(十六)

    来自 jax.tree_util:register_keypaths、AttributeKeyPathEntry 和 GetItemKeyPathEntry。 (#14734) 弃用信息 jax.tree_util 中的旧键路径 API 已被弃用,并将在 2023 年 3 月 10 日后的 3 个月内移除: register_keypaths

    1.7K10编辑于 2024-06-22
领券