Я задаю этот вопрос и потрачу некоторое время, чтобы разобраться в этом сам, но с неудачей.Objective-C скрытый статический метод вызова
Мне нужно вызвать статический метод класса, который скрыт для пользователя класса.
// MyClass.h
@interface MyClass : NSObject
@end
// MyClass.m
@implementation MyClass
- (NSString *)myInstanceMethod
{
return @"result string";
}
+ (NSString *)myStaticMethod
{
return @"result string";
}
@end
------------------------------------------------------------
// MyCallerClass.m
#import "MyClass.h"
@implementation MyCallerClass
- (void) testMethod
{
MyClass *inst = [MyClass new];
// call 1
NSString *resultInstance = [inst performSelector:@selector(myInstanceMethod)];
// call 2
NSString *resultStaitc = [inst performSelector:@selector(myStaticMethod)];
// call
[MyClass myStaticMethod];
}
@end
Звонок 1 работает хорошо, звонок 2 возвращает ноль, звонок 3 не компилируется.
Как я могу вызвать статический метод, который не определен в файле .h, и дать правильный возвращаемый объект?
Спасибо заранее, Rost
Объектив-C не имеет ни статических, ни частных методов ... – bbum