我試圖在if語句中聲明一個變量。如果查詢的結果是YES,那麼該對象將是一種類型,否則它將是另一種類型。像這樣的位......在if語句中聲明對象類型
if (YES) {
ObjectTypeA *object = [[ObjectTypeA] alloc] init];
}
else {
ObjectTypeB *object = [[ObjectTypeB] alloc] init];
}
一旦這樣做了我想使用相同的方法的對象,不管它是什麼類型。我試圖在if語句之前聲明對象爲id,但得到一個錯誤:成員引用類型'struct objc_object *'是一個指針;也許你打算使用' - >'?
我也嘗試聲明兩個都是獨立的對象之外,然後使指針指向我知道的任何一個。那也行不通。
我知道編譯器試圖通過這樣做來保護我自己,但在這種情況下,我需要繞過它。
謝謝。
打破瞭解決此問題曾任職檢測,即是或否爲單獨的方法。然後根據YES或NO聲明每個方法中的對象。 – 2010-09-03 22:17:08
感謝所有花時間留下答案的人。 – 2010-09-03 22:17:29