|
|
1
2
截取调用的NSObject类别如何?使用MAObjCRuntime,它看起来像这样:
您可以很容易地添加对合并的协议和其他内容的检查,但是对于所述的情况,这应该已经起作用了。 |
|
|
2
6
我不能完全确定我是否理解你说实话的反对意见。据我所见,代码完全符合您对可选方法的期望,而且只需要很少的额外措辞。我不认为你的分类能让你的意图更清楚。 对第一个选项的唯一更改是这样做:
|
|
|
3
3
第二个选项相当于使可选方法成为必需的,然后编写它的空实现。 第一种方法是正确的。出于某种原因,可选方法是可选的,如果调用代码不可用,则可能需要执行其他操作。 |
|
|
4
1
你的类别不错,但非常不灵活。委托回调几乎总是至少包含一个参数(调用对象),并且您的方法不允许参数。委托方法也经常返回值,这种方法也不允许这样做。
正如Stephen所指出的,正确的代码不应该使用
如果打字是个问题,那么解决办法就是蹦床。问题是蹦床比仅仅调用方法要慢得多,但是它们很方便。例如,这里有一个你所说的例子。(我还没有测试过这个;它是从我用来向多个代理发送消息的更复杂的代理中剥离出来的,在这里这更值得)。
然后你会这样使用它:
注意我们已经使用
|
|
|
5
1
这个类别的问题是,它自动保存对NSObject的所有调用。我会用如下宏来解决它:
使用如下:
|
|
|
user8040474 · 网络连接不工作 8 年前 |
|
|
Genhain · swift中链式泛型类型推断闭包 8 年前 |
|
|
Joe · 将数据从子VC传回集合视图单元格 8 年前 |
|
|
NaderBesada · 协议字典Swift 4 8 年前 |
|
|
Marmelador · 通过协议更改代理的属性 8 年前 |