2012-10-26 98 views
0

我經常使用此語句來擴展類,而無需編寫完整的單獨文件。假設ClassFromFramework是一個包含在庫中的框架的一部分。像在Java中一樣覆蓋Objective-c類中的方法

public ClassFromFramework { 

    public String myMethod() { 
     // operations 
    } 

    //lot of other methods.... 

} 

然後在我的課,我可以做到以下幾點:

import com.framework.ClassFromFramework; 

public MyClass { 

    public void method() { 

     ClassFromFramework m = new ClassFromFramework() { 
     @Override 
     public String myMethod() { 
      // do operations... 
     } 
     } 

     m.myMethod(); 
    } 
} 

我不知道是否能實現與Objective-C的相同沒有宣佈新組合的.h在.m文件和我的進口使用類。

回答

0

您可以創建一個新的子類並覆蓋方法,但所有新類都必須在它們自己的.h & .m文件中。這就是Obj-C的運作方式。在這種情況下,擁有附加文件是有意義的。

您也可以使用超級單詞調用父級方法。當繼承一個ViewController的時候,這一直是完成的,比如在viewDidLoad中。

+0

嗯,你是對的。考慮到上面的例子,我發現唯一的「解決方法」是直接在MyClass.m實現中聲明.h和.m,並使用.h擴展ClassFromFramework。我希望我讓自己清楚:-) – Leonardo