计算NSFetchRequest中的条目数

时间:2011-08-03 16:43:47

标签: iphone

我有一个无效的方法,但我必须计算其中的条目数。

那么我有什么方法可以做到吗?

我试图实现它,但它不起作用。

它在Nsfetch计数时给我一个错误。

返回声明为null。

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;

   }

2 个答案:

答案 0 :(得分:0)

首先,您定义变量 entity ,但是当您设置获取请求的实体时,您正在执行与上面相同的操作。只需写下:

[request setEntity:entity];

然后, NSFetchRequest 必须有一个排序描述符数组。所以,添加:

[request setSortDescriptors:[NSArray array]];

答案 1 :(得分:0)

如果你想要一个方法返回一些东西,那么设置它的返回类型。

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

返回Nothing(void)。你可以通过以下方式调用这样的方法:

[self testcase1];

要返回一些东西:

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

您可以这样称呼这样的方法:

NSInteger count = [self testcase1];