首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Excel VBA解读(143): 自定义函数中使用整列引用时如何更有效率?

学习Excel技术,关注微信公众号: excelperfect Excel用户经常发现在公式中使用整列的引用很方便,这样可避免每次添加新数据时都必须调整公式。...VBA用户自定义函数中处理此问题的标准方法是获取整列引用和已使用单元格区域的交叉区域,以便用户自定义函数只需处理实际使用的整列的一部分。...执行此操作的一种方法是使用Application对象的AfterCalculate事件(Excel 2007中引入)清空缓存。...然后,只有为每个工作表请求已使用单元格区域的第一个用户自定义函数使用时间来查找已使用的单元格区域,并且(假设计算本身不会改变已使用的单元格区域)将总是检索正确的数字。...注意,只能在Excel 2002及更高版本的用户自定义函数中使用Range.Find,并且除了命令宏或COM之外,不能在XLL中使用Find方法。

2.8K20
您找到你想要的搜索结果了吗?
是的
没有找到

为什么 SwiftUI 的修饰符顺序很重要

每当我们将修饰符应用于 SwiftUI 视图时,我们实际上都会创建一个,应用了更改的新视图 —— 我们不仅仅是修改现有的视图。...如果你仔细想想,这种行为是有道理的 —— 我们的视图仅保留我们赋予它们的确切属性,因此,如果我们设置背景颜色或字体大小,则无处存储该数据。...如果思考一下修饰符的工作原理,您就可以了解为什么会如此:每个修饰符都会创建一个,应用了该修饰符的新结构体,而不是视图上设置属性。 您可以通过查询视图主体的类型来窥视 SwiftUI 的底层。...每个修饰符之后都会呈现您的视图。...例如,SwiftUI 为我们提供了 padding() 修饰符,该修饰符视图周围添加了一些空间,从而不会将其推到其他视图或屏幕边缘。

2.3K20

为什么SwiftUI修饰符顺序很重要?

每当我们将修饰符应用于SwiftUI视图时,我们实际上都会创建一个应用了更改的新视图——我们不仅会修改现有的视图。...如果您考虑一下,这种行为是有道理的——我们的视图仅保留我们赋予它们的确切属性,因此,如果我们设置背景颜色或字体大小,则无处存储该数据。...如果思考一下修饰符的工作原理,您就可以了解为什么会如此:每个修饰符都会创建一个应用了该修饰符的新结构体,而不是视图上设置属性。 您可以通过查询视图主体的类型来窥视SwiftUI的底层。...(width: 200, height: 200) .background(Color.red) 现在最好的思考方法是,想象一下SwiftUI每个修饰符之后都会呈现您的视图。...例如,SwiftUI为我们提供了padding()修饰符,该修饰符视图周围添加了一些空间,从而不会将其推到其他视图或屏幕边缘。

2.4K10

使用 SwiftUI 创建一个灵活的选择器

前言 最近,我正在开发一个 Dribbble 上找到的设计的 SwiftUI 实现时,我想到了一个点子,可以通过一些酷炫的筛选器扩展该项目以缩小结果列表。...使用 UIKit 时,我总是将这种类型的视图实现为具有特定 UICollectionViewFlowLayout 的 UICollectionView。但在 SwiftUI 中该如何实现呢?...由于我的实现允许更改字体大小和权重,因此先前提到的两个扩展都以由灵活选择器使用的 UIFont 作为参数。...总结 这篇文章介绍了如何使用 SwiftUI 构建一个灵活的选择器(FlexiblePicker),用于选择多个选项。...然后,详细介绍了实现该选择器的逻辑,包括如何处理选项的布局、宽度和高度,以及如何处理用户与按钮的交互。 最后,提供了一个简单的视图实现,可以 SwiftUI 中使用该选择器。

25620

Swift 掌握 Observation 框架

我们 Store 类型中只有一个变量,用于定义存储的状态。另一个字段是一个永不更改的 let 常量。...第一个闭包中,我们可以访问可观察类型的所有必要属性。观察框架仅在触摸到的观察类型的任何属性更改后才调用第二个闭包。...SwiftUI 自动跟踪 SwiftUI 中,你不需要使用 withObservationTracking 函数来观察更改SwiftUI 自动跟踪视图正文中使用的任何可观察类型属性的更改。...SwiftUI 自动执行此操作。只要存储的状态属性更改SwiftUI 就会更新视图。...我们不需要 @ObservedObject 属性包装器来跟踪可观察类型中的更改,但我们仍然需要 @StateObject 替代项以 SwiftUI 生命周期中存活。

21221

Swift 周报 第十四期

您可以随时 App Store Connect 中更改您的 App 和 App 内购买项目的价格 (包括自动续期订阅)。如果您有提供订阅项目,您可以选择为现有订阅者保留当前价格。...16.1 Beta 版和 Xcode 14.1 Beta 版,开发实时活动功能 新的 ActivityKit 框架现已在 iOS 16.1 Beta 版和 Xcode 14.1 Beta 版中推出,探索如何通过这一框架为您的...当 iOS 16.1 发布候选版本可用时,您即可将配置了实时活动功能的 App 提交至 App Store。...方法中使用async function[10] 7)讨论PassthroughSubject 和 CurrentValueSubject[11] 推荐博文 SwiftUI Layout 协议——第 1...SwiftUI 之 HStack 和 VStack 的切换 摘要: 本文介绍了当涉及到水平和垂直的变体时( HStack 和 VStack ),我们需要如何在这两者之间动态的切换。

3.3K10

深度解读 Observation —— SwiftUI 性能提升的新途径

如何在视图中使用可观察对象 视图中声明可观察对象 与遵守 ObservableObject 协议的 Source of Truth 不同,我们会在视图中使用 @State 来确保可观察对象的声明周期。...onChange 闭包的调用时机是什么?所谓的 “when the value of a property changes” 是属性被更改前还是更改后?...get 方法被调用时( 调用由 apply 闭包引发 ), 会通过 access 方法可观察对象实例的 ObservationRegistrar 中保存 apply 闭包中出现的可观察属性与回调闭包之间的对应关系...SwiftUI 的视图如何观察属性的变化 根据 Observation 框架的工作原理,我们可以推测 SwiftUI 大概会采用下面的方法可观察属性与视图更新之间创建联系: struct A:View...最后 通过本文的论述,读者应该对 Observation 框架以及该框架如何改善 SwiftUI 的性能有了进一步的认识。

51020

为什么SwiftUI的视图使用结构体?

UIKit中,每个视图都来自一个名为UIView的类,该类具有许多属性和方法:背景色,确定其放置方式的约束,用于将其内容呈现到其中的图层等等。...SwiftUI中,我们所有的视图都是简单的结构体,几乎可以自由创建。想想看:如果您制作一个仅包含一个整数的结构体,则结构体的整个大小就是:一个整数。没有其他的。...您会发现,类能够自由更改其值,这可能导致代码混乱——SwiftUI如何知道什么更改了值并需要更新UI?...通过生成不会随时间变化的视图,SwiftUI鼓励我们转向更具功能性的设计方法:将数据转换为UI时,我们的视图变成简单的,惰性的东西,而不是会失去控制的智能化的东西。...提示:如果您在视图中使用类,则可能会发现代码无法编译或在运行时崩溃。 相信我:使用结构体。

3.1K10

避免 SwiftUI 视图的重复计算

本文将介绍如何减少( 甚至避免 )类似的情况发生,从而改善 SwiftUI 应用的整体表现。...并且 SwiftUI 会在其变化时自动更新( 重新计算 )对应的视图。 SwiftUI 上有一个困扰了不少人的问题:为什么无法视图的构造函数中,更改 State 包装的变量值?...} var body: some View { Text("\(number)") // 首次运行,显示 10 } } 构造函数中使用 self.number...second(.twoDigits)) .background( Group { if enable { // 只需要使用时...会在主线程上运行触发器闭包,如果闭包中的操作比较昂贵,可以考虑将闭包发送到后台队列 总结 本文介绍了一些 SwiftUI如何避免造成视图重复计算的技巧,除了从中查找是否有能解决你当前问题的方法外

9.2K81

为什么 SwiftUI 的视图使用结构体

UIKit 中,UIStackView 是一种非渲染视图类型,旨在简化布局,但这意味着即使它因为继承的原因具有背景色,也从未真正使用过。... SwiftUI 中,我们所有的视图都是简单的结构体,几乎可以自由创建。想想看:如果您制作一个仅包含一个整数的结构体,则结构体的整个大小就是:一个整数。没有其他的。...您会发现,类能够自由更改其值,这可能导致代码混乱—— SwiftUI 如何知道什么更改了值并需要更新 UI?...通过生成不会随时间变化的视图,SwiftUI 鼓励我们转向更具功能性的设计方法:将数据转换为 UI 时,我们的视图变成简单的,惰性的东西,而不是会失去控制的智能化的东西。...**提示:**如果您在视图中使用类,则可能会发现代码无法编译或在运行时崩溃。

2.4K50

SwiftUI 与 Core Data —— 数据获取

对于每一个 SwiftUI 中使用 Core Data 的开发者来说,@FetchRequest 都是绕不开的话题。... SwiftUI 中,ForEach 会根据数据标识( Identifier )自动处理视图的添加、删除等操作,因此,当在 SwiftUI 中使用 NSFetchedResultsController...@State 中持有引用 ),便可以达成如下目的:1、让数据的生命周期与视图生存期一致;2、数据可更改;3、更改数据不会引发视图更新。...self 的问题在订阅闭包中使用底层数据,如此就可以绕过无法结构体中引入 self 的问题。...在下一篇文章中,我们将探讨如何SwiftUI 中安全地响应数据,如何避免因为数据意外丢失而导致的行为异常以及应用崩溃。希望本文能够对你有所帮助。

4.6K30

SwiftUI 的动画机制

开发者经常需要面对:如何动、怎么动、什么能动、为什么不动、为什么这么动、如何不让它动等等困扰。对 SwiftUI 的动画处理逻辑了解的不够深入是造成上述困扰的主要原因。...阅读本文前,读者最好已拥有 SwiftUI 中使用动画编程的经历,或对 SwiftUI 动画的基本使用方法有一定的了解。可以 此处获取本文的全部代码[2] SwiftUI 的动画是什么?..., value: V) 尚不支持对同一个可动画部件的不同的依赖项关联不同的时序曲线函数 除了可以关联种类不同的时序曲线函数外,SwiftUI 还允许关联的时序曲线函数拥有不同的作用时长。...上面的代码中使用了 \.self 作为标识依据。... ViewBuilder 研究(下) —— 从模仿中学习[9] 一文中,我们展示了 SwiftUI 的 Text 是如何处理它的扩展方法的。

14.6K40

SwiftUI 下定制手势

本文将通过几个示例,演示如何使用 SwiftUI 提供的原生手段定制所需手势。 基础 预置手势 SwiftUI 目前提供了 5 种预置手势,分别为点击、长按、拖拽、缩放和旋转。...除了提供了更多的调用时机外,而且支持了对按压区域尺寸的智能处理(提高手指触击成功率)。 Value SwiftUI 会依据手势的类型提供不同的数据内容。...实际使用时,可自行简化。 示例一:轻扫 1.1 目标 创建一个轻扫(Swipe)手势,着重演示如何创建符合 Gesture 协议的结构体,并对手势数据进行转换。...苹果目前并没有提供应该如何实现它的文档,好在 SwiftUI 提供了一个含有约束的默认实现。...当我们不在结构体中使用自定义的 Value 类型时,SwiftUI 可以推断出 Self.Body.Value,此时可以将 body 声明为some Gesture。

2.6K20

Swift 中的热重载

我们可以利用我最初 2014 Playgrounds 中使用的相同方法。我已经使用它十多年了,并且在数十个 Swift 项目中使用它并取得了巨大的成功!...一个非常专注的名为 Inject 的微型库,与 InjectionForXcode 搭配使用时,将使您的 Apple 开发更加高效和愉快! 但不要只相信我的话。...工作流 SwiftUI 只需要两行字就可以使任何 SwiftUI 启用实时编程,而当您这样做时,您将拥有比使用 Swift Previews 更快的工作流程,同时能够使用实际的生产数据。...注入现在允许你更改 PaneAView 中的任何东西,除了它的初始化API。这些变化将立即反映在你的应用程序中。 ---- 一个更具体的例子?...Host 的变化不能完全内联,所以这些类 Release 构建中被删除。最简单的方法是做一个单独的提交,交换此单行代码,然后工作流程的最后删除它。 逻辑注入如何呢?

1.9K20

如何SwiftUI 中创建条形图

本文将展示如何创建一个垂直条形图,其中矩形的高度将代表每个类别的值。...系列文章 如何SwiftUI 中创建条形图 SwiftUI 中的水平条形图 iOS 16 中用 SwiftUI Charts 创建一个折线图 iOS16 中用 SwiftUI 图表定制一个线图... Swift 图表中使用 Foudation 库中的测量类型 开始图表布局 SwiftUI 对探索不同布局和预览实时视图结果是很友好的。...数据名称的字体大小和字重也可以被设置。向国家名称那样较长的文本,显示出条形图下面的文本将条形图推到了线外。...SwiftUI 是一个很好的平台,用于创建视图和快速重构独立的子视图。 SwiftUI 中构建条形图需要做一些工作,随着使用数据来试用条形图,可以确定更多的定制化。

5.1K10

SwiftUI 中用 Text 实现图文混排

欢迎大家 Discord 频道[2] 中进行更多地交流SwiftUI 提供了强大的布局能力,不过这些布局操作都是视图之间进行的。...一个和一组 SwiftUI 中,Text 是使用频率最高的几个组件之一,几乎所有的文字显示操作均由其完成。随着 SwiftUI 版本的不断提升,Text 的功能也得到持续地增强。...王巍 SwiftUI 中的 Text 插值和本地化[3] 一文中对此做了详尽的介绍。...Text 中使用 SF SymbolsSF Symbols[5] 是苹果为开发者带来的一份厚礼,让开发者可以苹果生态中近乎免费地使用由专业设计师创建的海量图标。...用户可以控制中心或通过【设置】—【辅助功能】—【显示与文字大小】—【更大字体】来更改单个或全部应用程序的文字显示大小。

4.3K30

探讨 SwiftUI 中的几个关键属性包装器

在这篇文章中,我们将探讨几个 SwiftUI 开发中经常使用且至关重要的属性包装器。本文旨在提供对这些属性包装器的主要功能和使用注意事项的概述,而非详尽的使用指南。...@State @State 是 SwiftUI 中最常用的属性包装器之一,主要用于视图内部管理私有数据。它特别适合存储值类型数据,如字符串、整数、枚举或结构体实例。...由于 @Binding 只是一个管道,它并不保证对应的数据源用时必然存在。 开发者可以通过提供 get 和 set 的方式来自定义 Binding。...只必须响应实例属性变化的视图中使用 @StateObject,如果仅需读取数据而不需要观察变化,可考虑其他选项。...典型应用场景 当需要访问和响应如界面样式(暗模式/亮模式)、设备方向、字体大小等由系统或上层视图提供的环境值时( 通常对应值类型)。

20610
领券