问题标签 [computed-properties]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
254 浏览

ios - NSDecimalNumber 如何判断是否有小数部分

我有一个用例,我想确定 Swift 中的 NSDecimalNumber 是否有小数部分(0 除外)。我可以截断小数部分,但这涉及创建一个新的 NSDecimalNumber,如果可能的话,我想避免这种情况。

我在计算属性中执行此操作,因此我希望它尽可能高效。这是目前我的扩展在操场上的样子:

0 投票
1 回答
1855 浏览

ios - Swift:计算属性的属性观察者

据我所知,Swift 允许我们为存储和计算属性设置属性观察器。但是如果计算的属性值依赖于一些后备存储,当这些后备存储值发生更改时,不会触发属性观察器:

调用 changeSomeValues 时不调用 SubClass 的 didSet。

让我们考虑一个案例:我们在第三方框架中有这样的 BaseClass。我们在我们的应用程序中定义子类。问题是:我们如何在不了解属性性质的情况下依赖子类观察者:它是存储的(我们可以依赖观察者)还是计算的(然后我们不能期望每次都在我们期望的时候触发观察者)?可能吗?如果不是,是否违反封装?

0 投票
1 回答
67 浏览

swift - 延迟加载变量错误

我正在编写一个涉及核心数据的程序。我为我的上下文实体创建了一个类变量, 并且我的代码是这样编写的:

到目前为止一切正常,但我想做的是“懒惰”加载 userEntity

像这样 :

但是当我这样做时,我收到一个错误:“实例成员 'context' 不能用于类型 'Persistency Manager'”

我究竟做错了什么?我怎样才能实现我的目标?

谢谢!

0 投票
1 回答
1682 浏览

swift - 每次访问计算属性时都会对其进行评估吗?

我对 Swift 中的计算属性有两个问题。

每次访问计算属性时都会对其进行评估吗?或者它们存储在某个地方以备将来访问?

这是什么样的财产,因为我无法谷歌它:

每次访问时都会评估它吗?

0 投票
0 回答
78 浏览

javascript - 本地存储服务未通知属性更改

我创建了一个本地存储服务,看起来像这样

用户对象是这样我可以直接在模板中访问它或作为计算的属性值。

问题是另一个依赖于user服务中属性的计算属性在更改时没有得到通知。在我的应用程序控制器中,我有一个操作可以更新user服务中属性的属性

(这来自套接字服务)这工作正常,因为在此操作触发后,我可以检查浏览器的 localstorage 对象并查看active_auction它的属性已更改。但是在我显示该(或基于该计算的属性)的模板中,它没有更新。

我看到可能有一种方法可以强制 ember 通知属性更改,但似乎无法让它工作,不确定我是否做得对。

0 投票
2 回答
1259 浏览

swift - what do parenthesis do after lazy var definition?

I am analyzing analyzing some third party code and there is a "lazy" var statement that looks like this, and I would like to understand what the parenthesis are doing after the "computed property" curly braces:

The "return .standardUserDefaults()" is returning the NSUserDefaults instance object, so why add a () after the right curly brace?

thanks

0 投票
1 回答
274 浏览

c++11 - C++ 类中由具有重载隐式转换的空结构成员计算的成员

在某些数据结构中,如果成员的值是在访问时从其他数据成员计算出来的,而不是存储的,这将很有用。

例如,典型的rect类可能会将其lefttoprightbottom坐标存储在成员数据字段中,并为需要相对尺寸而不是绝对尺寸的客户端提供基于这些值返回计算宽度高度的getter 方法职位。

这个实现允许我们获取和设置矩形边的绝对坐标,

另外为了获得它的相对尺寸,尽管使用了稍微不同的方法调用运算符表达式语法

问题

然而,有人可能会争辩说,存储相对宽度高度而不是绝对右下角坐标同样有效,并且要求需要计算右下角值的客户端使用getter方法

我的解决方案

为了避免需要记住哪种情况需要方法调用和数据成员访问运算符语法,我提出了一些适用于当前稳定 gcc 和 clang 编译器的代码。下面是一个rect数据结构的全功能示例实现:

我在这里做的有什么问题吗?

关于嵌套空结构类型的隐式转换运算符中的指针转换,即这些行:

感觉很脏,好像我可能违反了良好的 C++ 风格约定。如果我的解决方案的这个或其他方面是错误的,我想知道原因是什么,最终,如果这是不好的做法,那么是否有一种有效的方法来实现相同的结果

0 投票
1 回答
962 浏览

c# - 作为 Entity Framework 6 中的外键的数据库计算属性

如何将属性引用为插入数据库计算字段的 ForeignKey(从视图)?

我有以下内容:

每当我尝试更新 aPerson时,我都会收到以下异常:

信息:

ReferentialConstraint 中的依赖属性映射到存储生成的列。列:'MainPersonSiteId'。堆栈跟踪:

在 System.Data.Entity.Core.Mapping.Update.Internal.UpdateCompiler.BuildSetClauses(DbExpressionBinding 目标,PropagatorResult 行,PropagatorResult originalRow,TableChangeProcessor 处理器,布尔插入模式,Dictionary`2& outputIdentifiers,DbExpression& 返回,Boolean&rowMustBeTouched)在 System.Data。 Entity.Core.Mapping.Update.Internal.UpdateCompiler.BuildUpdateCommand(PropagatorResult oldRow,PropagatorResult newRow,TableChangeProcessor 处理器)在 System.Data.Entity.Core.Mapping.Update.Internal.TableChangeProcessor.CompileCommands(ChangeNode changeNode,UpdateCompiler 编译器)

在数据库中,即 Sql Server 12,Person 来自一个视图,其中 MainPersonSiteId 是从一个函数投影的。这是一个计算字段,不需要由 ORM 更新。

如何用 EntityFramework 定义它?

编辑 :

DatabaseGeneratedOption.Identity我只是通过设置而不是设法使更新工作DatabaseGeneratedOption.Computed,但是我发现插入仍然损坏。所以我用DatabaseGeneratedOption.Computed背面测试了插入物,它......工作了:/

情况是:
- 我只能使用 DatabaseGeneratedOption.Computed 插入
- 我只能使用 DatabaseGeneratedOption.Identity 进行更新

奇怪的是,MSDN 说DatabaseGeneratedOption.Computed数据库为插入和更新生成一个值,而DatabaseGeneratedOption.Identity只为插入生成一个值

0 投票
1 回答
6989 浏览

ios - 目标 c 中的计算属性

我正在尝试通过复制教程在 Objective-C 中制作一个旋转轮。但我不知道如何在目标 c 中转换 swift 的计算属性。如何在objective-c中声明半径变量,如下面的代码,我可以在计算变量中调用invalidateLayout方法?

0 投票
1 回答
39 浏览

javascript - 更改 Ember.ComputedProperty 的上下文/范围

正如标题所说,我希望找到一种方法来改变 Ember.ComputedProperty 的上下文或范围。

我的用例是我允许用户定义用于动态绑定的 bindingConfig 属性。此 bindingConfig 可以是字符串或函数或 Ember.ComputedProperty。

因为 bindingConfig 是与 Content/Model 分开传递的,因此我需要将它绑定到内容,而且我还没有找到对 Ember.ComputedProperty 执行此操作的方法。

https://ember-twiddle.com/8c01af57f3a3b9fde858?openFiles=application.controller.js%2Capplication.template.hbs

非常感谢, :)