iOS 筆記

  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]];

相關文章
相關標籤/搜索