1. 使用斷言NSAssert()調試程序錯誤app
NSAssert()只是一個宏,用於開發階段調試程序中的Bug,經過爲NSAssert()傳遞條件表達式來判定是否屬於Bug,知足條件返回真值,程序繼續運行,若是返回假值。則拋出異常,而且能夠自定義異常描述。NSAssert()是這樣定義的:dom
#define NSAssert(condition, desc)spa
condition是條件表達式,值爲YES或NO;desc爲異常描述,一般爲NSString。當condition爲YES時程序繼續運行,爲NO時,則拋出帶有desc描述的異常信息。NSAssert()能夠出如今程序的任何一個位置。具體事例以下:調試
生成一個LotteryEntry對象時,傳入的NSDate不能爲nil,加入NSAssert()判斷。對象初始化源碼以下:code
- (id)initWithEntryDate:(NSDate *)theDate { self = [super init]; if (self) { NSAssert(theDate != nil, @"Argument must be non-nil"); entryDate = theDate; firstNumber = (int)random() % 100 + 1; secondNumber = (int)random() % 100 + 1; } return self; }
接下來則是生成對象時傳入一個值爲nil的NSDate,看斷言是否運行。對象
LotteryEntry *nilEntry = [[LotteryEntry alloc] initWithEntryDate:nil];blog
2. 開發
設置導航欄和狀態欄的背景色:源碼
[[UINavigationBar appearance] setBarTintColor:[UIColor colorWithRed:30.0f/255 green:95.0f/255 blue:185.0f/255 alpha:1.0f]];it
[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];