2011-08-03 71 views
0

我有一個方法是無效的,但我必須計算它的條目數。計數NSFetchRequest的條目數

那麼有什麼辦法可以做到嗎?

我試圖實現它,但它不工作。

它給我一個Nsfetch數的錯誤。

返回聲明爲空。

testcase1

{ 
    //startdate and end date are same and both are 1 day before 
    NSTimeInterval secondsPerday=24*60*60; 
    NSDate *startdate = [[NSDate alloc]initWithTimeIntervalSinceNow:-secondsPerday]; 
    NSDate *endate = [[NSDate alloc]initWithTimeIntervalSinceNow:-secondsPerday]; 

    TravelerAppDelegate *delegate =[[UIApplication sharedApplication]delegate]; 
    [delegate getWeatherforCity:@"#" state:@"#" country:@"#" startDate:startdate endDate:endate]; 

     NSManagedObjectContext *allone=[delegate managedObjectContext]; 
     NSEntityDescription *entity = [NSEntityDescription entityForName:@"Weather" inManagedObjectContext:allone]; 
     //WeatherXMLParser *delegate = [[WeatherXMLParser alloc] initWithCity:@"#" state:@"#" country:@"#"]; 
     NSFetchRequest *request = [[NSFetchRequest alloc] init]; 
     [request setEntity:[NSEntityDescription entityForName:@"Weather" inManagedObjectContext:allone]]; 
     [request setIncludesSubentities:NO]; 
     NSError *err; 
     NSUInteger count = [allone countForFetchRequest:request error:&err]; 
     if(count == NSNotFound) { 
      //Handle error 
     } 

     [request release]; 
     return count; 

    } 
+0

如果代碼「給你一個錯誤「,在你的問題中包含這個錯誤是非常有用的。 – jrturton

回答

0

首先,定義變量實體但在設置該找取請求的實體,你正在做上述相同。簡單地寫:

[request setEntity:entity]; 

然後,NSFetchRequest必須有一種描述符陣列。所以,加上:

[request setSortDescriptors:[NSArray array]]; 
0

如果你想要一個方法返回一些東西,然後設置它的返回類型。

-(void)testcase1 
{ 
    // Code goes here 
} 

返回Nothing(void)。

[self testcase1]; 

返回的東西:

-(NSInteger)testcase1 
{ 
    // Code goes here 
    return count; 
} 

你會叫這樣的方法是這樣的:你會通過調用一個方法是這樣

NSInteger count = [self testcase1];