我有一个实质上由三个实体组成的模型:制造商<---- >>模型<---- >>汽车
制造商实体具有属性“名称”
模型实体具有属性“名称”
汽车实体具有“注册”和“里程”属性
我有一个表格视图,每行显示汽车登记,里程,型号和制造商,例如,可以轻松绑定:
Bind To: Cars, Controller Key: arrangedObjects, Model Key Path: model.manufaturer.name
Run Code Online (Sandbox Code Playgroud)
我有另一个表格视图,我想在其中显示制造商及其所有汽车的总行驶里程。
所以我将第一列绑定为:
Bind To: Manufacturers, Controller Key: arrangedObjects, Model Key Path: name
Run Code Online (Sandbox Code Playgroud)
然后尝试绑定总里程时,会发生我的问题。我尝试通过以下方式访问它:
Bind To: Manufacturers, Controller Key: arrangedObjects, Model Key Path: models.cars.@sum.milage
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用:(我是用完全错误的方式进行此操作吗?还是需要向我的Manufacturer,Model或Car类中添加一些方法?
非常感谢
编辑:更多信息
奇怪地将一个单独的表绑定到
Model - arrangedObjects - name
Model - arrangedObjects - cars.@sum.milage
Run Code Online (Sandbox Code Playgroud)
可行,尽管日志中仍然抛出错误:不支持[<_NSFaultingMutableSet 0x1dbbb0> addObserver:forKeyPath:options:context:]。关键路径:@ sum.milage
基本上我需要上面的。我已经搜索了谷歌,但找不到实现这一点的方法。
我在这里找到了这个功能http://www.guwi17.de/ublas/examples/但它太慢了。我什至按照 MATLAB 的例程编写了自己的 Pade Approximation,但它只比链接中的快一点。
令我震惊的是 Mathematica 计算矩阵指数的速度有多快(我不知道它是否关心矩阵是否为 tridiag)。
有人可以帮忙吗?
编辑:这是我想出的,有什么评论吗?希望对未来的读者有用
我已经离开 C++ 一段时间了,所以下面的代码可能有点乱/慢,所以如果你看到改进,请赐教。
//Program will compute the matrix exponential expm( i gA ). where i = sqrt(-1) and gA is a matrix
#include <iostream>
#include <gsl/gsl_complex.h>
#include <gsl/gsl_complex_math.h>
#include <gsl/gsl_matrix.h>
#include <gsl/gsl_linalg.h>
#include <gsl/gsl_blas.h>
int main() {
int n = 100;
unsigned i = 0;
unsigned j = 0;
gsl_complex img = gsl_complex_rect (0.,1.);
gsl_matrix * gA = gsl_matrix_alloc (n, n);
//Set gA:
for ( i …Run Code Online (Sandbox Code Playgroud)