2011-12-20 11 views
0

Imコアデータを使用する。 私は最近訪問されたアイテムに次のように取り組んでいたという点で。トップ20にアクセスして広告を追加する方法

//Create a fetch request 
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; 
NSEntityDescription *entityDescription = [NSEntityDescription 
           entityForName:@"Recent" inManagedObjectContext:self.managedObjectContext]; 
[fetchRequest setEntity:entityDescription]; 

//set Predicate to the fetch request 
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"eyeTerm = %@",term]; 
[fetchRequest setPredicate:predicate]; 
NSError *error = nil; 

//Create an Array Using fetch Request 
NSMutableArray *recentsArray = [[self.managedObjectContext executeFetchRequest:fetchRequest error:&error] mutableCopy]; 
if([recentsArray count]==0) { 
    //Save to Recent 
    Recent *recent = [NSEntityDescription insertNewObjectForEntityForName:@"Recent" inManagedObjectContext:self.managedObjectContext]; 
    recent.eyeTerm=term; 
    recent.lastviewed = [NSDate date]; 
    recent.repeatCount = 0; 
} 

else { 
    //Increment the repeatCount of the recent object. 
    Recent *recent = [recentsArray objectAtIndex:0]; 
    int countValue = [recent.repeatCount intValue]; 
    countValue ++; 
    recent.repeatCount = [NSNumber numberWithInt:countValue]; 
    NSLog(@"repeat count : %@",recent.repeatCount); 
} 

ここでは、トップ20の訪問されたティエム(繰り返し回数)が必要です。 し、お気に入りとして追加することができます。あなたはフェッチ要求を作成するときに、あなたがそれを使用することができます

NSSortDescriptor *sortByRepeats = [NSSortDescriptor sortDescriptorWithKey:@"repeatCount" ascending:NO]; 

:あなたはソート記述子が必要ですか見つけるために、トップ20

おかげ

答えて

1

を教えてください

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; NSEntityDescription *entityDescription = [NSEntityDescription         entityForName:@"Recent" inManagedObjectContext:self.managedObjectContext]; 
[fetchRequest setEntity:entityDescription]; 
[fetchRequest setFetchLimit:20]; 
[fetchRequest setSortDescriptors:[NSArray arrayWithObject:sortByRepeats]]; 
+0

ありがとうpaulbaileyは完全に動作しています –

関連する問題