我正在尝试根据与每个$('button').click(function(){
$('div').addClass('a');
$(this).attr('disabled','true').text('Started');
var counter = 5;
function repeater() {
if (counter >= 0) {
$('div').toggleClass('a');
counter--;
// start new cycle
setTimeout(repeater, 3000);
} else {
// cleanup
$('button').removeAttr('disabled').text('Finished | Again');
}
}
// boot the repeater
repeater()
});
相关联的值对NSManagedObject
数组进行排序。这些值的计算成本很高,所以我想最多计算一次。类似问题的大多数解决方案都涉及构造NSDictionary
,但我的对象不一定(必然)符合NSCopying
协议。我曾考虑使用对象ID,但是可能有更简洁的解决方案吗?这种方法有没有捕获?
答案 0 :(得分:1)
(new L1("test")).Test(a);
子类中创建一个便捷方法,用于计算排序所需的值并将其返回。对其进行编码,使其仅计算一次值。你能详细说明你的工作方式吗?我应该使用NSCache吗?感谢
您继承NSManagedObject
:
NSManagedObject
然后以懒惰的方式实现它:
@interface MySubclass: NSManagedObject
@property NSString *myCalculatedSortValue;
- (NSString*)calculatedSortValue;
@end
然后您可以按@implementation MySubclass
- (NSString*)calculatedSortValue
{
if (myCalculatedSortValue) return myCalculatedSortValue;
//calculate value
return myCalculatedSortValue;
}
排序,并且每个生命周期只会计算一次。
注意:只有在从商店中提取calculatedSortValue
个实例后,这才会起作用。这不会直接对商店起作用,因为所有计算都发生在对象空间中。
答案 1 :(得分:0)
我找到了一个令人尴尬的简单解决方案来解决我的问题。我可以创建一个字典,其键是我们的数组中对象的索引,其关联值是与对象关联的值。我按值对字典进行排序,然后按键给出的顺序检索对象。