зачем использовать assert в проекте? (и почему его использовали так много раз)

я читал пример кода ListAdder, и есть много утверждений сразу после переменной или используемых почти в каждом методе, например:

self.formatter = [[[NSNumberFormatter alloc ] init] autorelease]; assert (self.formatter! = nil);

или:

- (UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
   #pragma unused(tv)
   #pragma unused(indexPath)
   UITableViewCell *    cell;

   assert(tv == self.tableView);
   assert(indexPath != NULL);
   assert(indexPath.section < kListAdderSectionIndexCount);
   assert(indexPath.row < ((indexPath.section == kListAdderSectionIndexNumbers) ? [self.numbers count] : 1));

Мне было интересно, какой смысл это делать?

Спасибо

6
задан Pieter Kuijpers 6 April 2012 в 10:59
поделиться