自:《effective objective-c2.0編寫高質量ios與os x**的52個有效方法》
(一)
報錯:expected a type
現象:兩個類的標頭檔案相互引用報錯,造成迴圈引用
解決:使用「向前申明」解決
//
// eocperson.h
// ios
//// created by wu on 15/6/6.
//#import
//開啟這個注釋,expected a type 報錯,原因是迴圈引用造成的兩個類當中有乙個無法被正確編譯
//#import "eocemployer.h"
//向前申明 開啟這個注釋,expected a type 將不報錯
@class
eocemployer;
@inte***ce
eocperson : nsobject
@property (nonatomic, copy) nsstring *firstname;
@property (nonatomic, copy) nsstring *lastname;
@property (nonatomic, strong) eocemployer *employer;
@end
//
// eocperson.m
// ios
//// created by wu on 15/6/6.
//#import "eocperson.h"
#import "eocemployer.h"
@implementation
eocperson
-(void) printemployer
@end
//
// eocemployer.h
// ios
//// created by wu on 15/6/6.
//#import
#import "eocperson.h"
@inte***ce
eocemployer : nsobject
- (void)addemployer:(eocperson*)person;
- (void)removeemployer:(eocperson*)person;
@end
//
// eocemployer.m
// ios
//// created by wu on 15/6/6.
//#import "eocemployer.h"
@implementation
eocemployer
- (void)addemployer:(eocperson*)person
- (void)removeemployer:(eocperson*)person;
@end
//普通建立陣列的方式
nsarray *animals = [nsarray arraywithobjects:@"cat", @"dog", @"mouse", @"badger", nil];
//使用
nsstring *dog = [animals objectatindex:1];
//建立字面量陣列
nsarray *animals1 = @[@"cat", @"dog", @"mouse", @"badger"];
//使用
nsstring *cat = animals1[0];
//如:
id object1 = @1;
id object2 = nil;
id object3 = @3;
//此陣列中只有object1,因為arraywithobjects會依次處理各個引數,直到發現nil為止
nsarray *arraya = [nsarray arraywithobjects:object1, object2, object3, nil];
//而object2位nil,會引發異常,向陣列中插入nil通常說明程式有錯,通過異常可以更快的發現這個錯誤
//使用字面量陣列比上面的方式更安全
nsarray *arrayb = @[object1, object2, object3];
nslog(@"%@", arraya[1]);
nslog(@"%@", arrayb[1]);
zabbix異常報錯
在被監控的服務安裝好zabbix agentd服務,服務啟動正常,在頁面上新增主機,一直報錯 received empty response from zabbix agent at ip assuming that agent dropped connection because of acces...
Python異常報錯對照
assertionerror 斷言語句 assert 失敗 attributeerror 嘗試訪問未知的物件屬性 eoferror 使用者輸入檔案末尾標誌eof ctrl d floatingpointerror 浮點計算錯誤 generatorexit generator.close 方法被呼叫的...
OC使用 try處理異常
main.m oc使用 try處理異常 created by goddog on 15 1 11.1.oc的異常機制並不是作為常規的程式設計實踐,通常是作為一種程式除錯 捕捉機制。2.通常情況下,如果 try塊被執行一次,則 try塊後只有乙個 catch塊被執行,絕不可能有多個 catch塊被執行...