我正在讀通過樣品代碼ListAdder,並且有許多變量之後斷言,或幾乎所有的方法中使用,例如:爲什麼在項目中使用'assert'? (爲什麼使用它這麼多次)
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));
我想知道,有什麼意思呢?
感謝
我不瞭解Objective C,但用其他語言可以在編譯時禁用它們,這樣它們不會減慢實時系統的速度,但可以在測試和分級過程中將它們用於錯誤檢測。 – corsiKa