0

今天我遇到了一个奇怪的问题。我在我的项目中使用 OAuthConsummer 连接到 Twitter。这个 Consummer 有几个版本,在我的项目中,它有一些头文件 (.h) 和一个扩展名为 .a 的文件。我想继承一个名为“OAMutableURLRequest”的类并覆盖一些旧方法,所以我添加了两个文件:头文件和具有覆盖方法的实现文件。这个解决方案对我有用很长时间。然而,今天当使用 Xcode 5.0.1 在 iOS 7 上构建时,我的应用程序因我的覆盖方法不存在 (NSInvalidArgumentException) 的错误而崩溃。

总而言之,我的问题是:如何子类化属于只有标题和文件 .a 的库的类?

4

1 回答 1

1

是的你可以!如果您考虑 Apple 框架,那就是头文件和预编译库......

如果您在 iOS7 中遇到运行时崩溃,请检查某些方法是否已被删除或更改,或者您可能正在通过超类的实例调用子类的方法......如果您想完全覆盖方法行为并且您不在乎关于原类的方法实现可以在原类上创建一个类,注意!因为您将无法访问该方法的原始实现,并且无法在类别中添加新的类成员(ivar)!但是如果方法存在于超类中,您始终可以调用超类实现

于 2013-10-24T10:42:06.463 回答