Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 与NSFetchedResultsController一起使用可变高度?_Iphone_Objective C_Core Data - Fatal编程技术网

Iphone 与NSFetchedResultsController一起使用可变高度?

Iphone 与NSFetchedResultsController一起使用可变高度?,iphone,objective-c,core-data,Iphone,Objective C,Core Data,设计/使用我的模型和NSFetchedResultsController以便使用具有可变高度单元格的表格的最佳方法是什么?计算高度是昂贵的(并且需要访问模型的数据),所以我正在缓存模型中的值。但是,我知道tableview会要求所有可见单元格的高度 我目前的想法是,我将限制结果的数量,并允许用户自己获取更大的数字,以防止负载过大 然而,我担心的是,我的行中每个相关数据大约包含200字节。确实,断层200行只占20k左右,但如果我想显示20000行呢?我将对2MB的原始数据进行故障处理,以设置单元

设计/使用我的模型和NSFetchedResultsController以便使用具有可变高度单元格的表格的最佳方法是什么?计算高度是昂贵的(并且需要访问模型的数据),所以我正在缓存模型中的值。但是,我知道tableview会要求所有可见单元格的高度

我目前的想法是,我将限制结果的数量,并允许用户自己获取更大的数字,以防止负载过大

然而,我担心的是,我的行中每个相关数据大约包含200字节。确实,断层200行只占20k左右,但如果我想显示20000行呢?我将对2MB的原始数据进行故障处理,以设置单元格高度

有一个属性占用了大约90%的数据。这意味着我可以将主实体每行减少到20字节。是否值得将其保存在一个单独的实体中,这样我就可以避免在不需要时对其进行错误处理


最后一点注意:单元格高度完全是动态的,取决于内容。如果只有两种可能的选择,这会简单得多。

如果您可以根据倒入单元格的内容枚举单元格类型,并将单元格类型存储在数据模型中,则可以执行
切换
-
大小写
树以返回标准,基于每个单元格预先计算的高度。

如果您可以根据倒入单元格的内容枚举单元格类型,并将单元格类型存储在数据模型中,那么您可以执行一个
切换-
案例树,以返回基于每个单元格的标准预先计算高度。

谢天谢地,从iPhone SDK 3.1开始,我们可以跟踪核心数据使用的sql调用。事实证明,对于少量数据(如每个单元200字节),如果将所有数据都保存在同一个实体中,性能会好得多。对于上面的示例(有20000个单元),核心数据可能会执行2000个额外的请求来获取它所需的数据,而获取请求的开销变得很麻烦。在那个阶段,最好使用批处理来加快速度。

谢天谢地,从iPhone SDK 3.1开始,我们可以跟踪核心数据使用的sql调用。事实证明,对于少量数据(如每个单元200字节),如果将所有数据都保存在同一个实体中,性能会好得多。对于上面的示例(有20000个单元),核心数据可能会执行2000个额外的请求来获取它所需的数据,而获取请求的开销变得很麻烦。在那个阶段,最好使用批处理来加快速度。

您尝试过实现它吗?此外,每个单元格的单元格高度是动态的,还是在许多不同高度之间进行选择(即单元格高度只能为50、60或75像素)?完全动态(我更新了问题)。除了查看数据外,没有其他捷径。您尝试过实现它吗?此外,每个单元格的单元格高度是动态的,还是在许多不同高度之间进行选择(即单元格高度只能为50、60或75像素)?完全动态(我更新了问题)。除了查看数据,没有其他捷径。没有标准高度。每个单元格可以有不同的高度。没有标准高度。每个单元格可以有不同的高度