Skip to content

这种方式缺点是方法名不能一样 #2

Open

Description

@nowsilence

如果A协议和B协议的一个方法名相同,
struct objc_method_description *methods = protocol_copyMethodDescriptionList(
httpProtocol, YES, YES, &numberOfMethods);
for (unsigned int i = 0; i < numberOfMethods; i++) {
struct objc_method_description method = methods[i];
[_selToHandlerMap setValue:handler forKey:NSStringFromSelector(method.name)];
}

这个就有问题了

Activity

  1. zekunyan commented on May 12, 2016

    @zekunyan
    Owner

    对,这个是个问题,实践中尽量保持名字不一样,按照模块、业务等在方法名字上作区分,如加前缀什么的,毕竟OC没有包的概念,相同类型的东西多了只能通过命名解决。。。这个Demo属于“集约型”的架构,如果是“离散型”的,就是一个请求一个Request类的,也是要在名字上作区分的,还是绕不开。。。其实这个Demo的目的更在于实践NSProxy=。=

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions