|
|
1
6
当心。您将要在ObjC中输入一些相当深的魔法,并且您可以生成的各种bug都是令人费解的。这些是在其他所有操作都失败之后应该使用的最后一种技术,您应该尽可能地隔离这些代码。也就是说,ObjC是一种高度动态的语言,您可以重新构建大多数东西。
如果你做错了,你不会得到任何警告或错误。你只会得到奇怪的崩溃。
Hijacking with method_exchangeImplementations() . 不过,在完成此操作之后,祝您使用调试器好运。 |
|
|
2
1
实际上,您可以通过子类化修改任何内容。这是您可以做的最微妙的事情之一,您可以研究方法swizling(但是方法swizling会影响类的所有成员),但是在objective c中,设置任何对象的类都非常容易,所以基本上您只需要声明一个子类,而不声明任何额外的IVAR,并且只重写所需的方法(您可能希望调用超级实现),然后在运行时通过object\u setClass(在中声明)更改对象的类。 |
|
|
George Kim · 如何在iOS中模拟特定坐标空间中的触摸? 1 年前 |
|
|
BENG · 协调C++和Objective-C中结构的填充 2 年前 |
|
|
Community wiki · iPhone上ivar的继承问题 2 年前 |
|
|
Community wiki · 在OpenGL中显示YUV 2 年前 |
|
|
YosiFZ · pod更新依赖关系pod 2 年前 |
|
|
Community wiki · 查找iOS日历 2 年前 |