Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 目标C——是否可以将一个类别称为';从同一类型的另一个类别中选择的方法?_Ios_Objective C_Objective C Category - Fatal编程技术网

Ios 目标C——是否可以将一个类别称为';从同一类型的另一个类别中选择的方法?

Ios 目标C——是否可以将一个类别称为';从同一类型的另一个类别中选择的方法?,ios,objective-c,objective-c-category,Ios,Objective C,Objective C Category,我想知道在同一类型的另一个类别中调用一个类别的方法是否可行。我试过这样做,但似乎不起作用。我想知道这是一种正确的方式还是至少是可能的 例如: 分类文件 @implementation UIImage (UIImage+CategoryA) -(void)doThis { NSLog(@"Something...."); } #import "UIImage+CategoryA.h" @implementation UIImage (UIImage+CategoryB) -(voi

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

例如:

分类文件

@implementation UIImage (UIImage+CategoryA)

-(void)doThis {
    NSLog(@"Something....");
}
#import "UIImage+CategoryA.h"

@implementation UIImage (UIImage+CategoryB)

-(void)someMethod {
    [self doThis]; // Can I do this?
}
类别b文件

@implementation UIImage (UIImage+CategoryA)

-(void)doThis {
    NSLog(@"Something....");
}
#import "UIImage+CategoryA.h"

@implementation UIImage (UIImage+CategoryB)

-(void)someMethod {
    [self doThis]; // Can I do this?
}


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

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


因此,是的,这是可能的。

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


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

什么是“似乎不起作用”呢?这看起来应该起作用。您遇到了什么错误?我遇到了编译器错误:“UIImage”没有可见的@interface声明选择器“doThis”。UIImage+CategoryA.h看起来像什么?你真的在里面声明了这件事吗?是的,我已经声明了这件事在.h文件中。怀疑Xcode没有正确索引。什么是“似乎不起作用”呢?看起来应该起作用。您遇到了什么错误?我遇到了编译器错误:“UIImage”没有可见的@interface声明选择器“doThis”。UIImage+CategoryA.h看起来像什么?你真的在里面声明了这件事吗?是的,我已经声明了这件事在.h文件中。怀疑Xcode未正确索引.shot。正如我所怀疑的,问题在于不正确的Xcode索引。清洁并重新启动Xcode后,一切正常(掌心)。需要坚持基本原则。谢谢你的回答。:)射击正如我所怀疑的,问题在于不正确的Xcode索引。清洁并重新启动Xcode后,一切正常(掌心)。需要坚持基本原则。谢谢你的回答。:)