oc 異常報錯

2021-07-03 03:40:39 字數 2278 閱讀 6195

自:《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塊被執行...