我需要將自定義對象轉換爲不同的對象。我怎樣才能做到這一點?類型轉換不起作用。如何轉換對象?
我知道類型轉換不起作用(唯一的問題是「關閉編譯器警告」,但僅此而已)。下面是一個示例代碼:
MyType* obj1;
MyOtherType* obj2;
obj1 = [MyType initWithData: 1];
obj2 = (MyOtherType*) obj1;
if ([obj2 isMemberOfClass: [MyOtherType class]]) { NSLog(@"OK"); }
else if ([obj2 isMemberOfClass: [MyType class]]) { NSLog(@"Nope"); }
結果是:
Nope
我能做些什麼?
的事情是,MyOtherType延伸MyType(爲了方便,我在這裏展示了我的代碼的簡化版本)。所以沒有更好的方法? – 2010-05-01 17:29:32
你永遠無法將任何對象自動「轉換」爲任何對象。只能手工。類型轉換隻能讓您通過「有色眼鏡」查看對象。但是對象仍然是一樣的。 – bealex 2010-05-13 19:56:30