目标C - 是否可以从同一类型的另一个类别调用类别的方法?

时间:2017-09-26 20:37:47

标签: ios objective-c objective-c-category

我想知道在同一类型的另一类别中实际调用类别方法是否可行。我试过这样做,但这似乎不起作用。我想知道这是一种正确的方式还是至少可能?

例如:

CategoryA档案

public function handle($request, Closure $next)
{
    // check this isn't one of our routes
    // too bad router hasn't loaded named routes at this stage in pipeline yet :(
    // let's hope it doesn't conflict with user's routes
    if ($request->is('under/*')) {
        return $next($request);
    }

    if (! $this->config['enabled']) {
        return $next($request);
    }

    if (!$this->hasAccess($request)) {
        return new RedirectResponse('/under/construction');
    }

    return $next($request);
}

CategoryB档案

@implementation UIImage (UIImage+CategoryA)

-(void)doThis {
    NSLog(@"Something....");
}


欢迎任何讨论/答案/见解。

1 个答案:

答案 0 :(得分:1)

类别将方法添加到原始类。这是Objective-C,因此没有访问控制的概念:一旦存在,每个人都可以访问它们。因此,任何具有指向类的实例和类别知识的指针的人都可以调用它们。这包括在同一类的其他类别中实现的方法。

所以,是的,这是可能的。