Передача экземпляра объекта в метод - PullRequest
0 голосов
/ 20 июля 2011

У меня есть этот метод:

- (void)postDictionary:(NSDictionary *)dictionary toURL:(NSURL *)url forDelegate:(id)delegate withIdentifier:(NSString *)identifier;

Я хочу передать экземпляр объекта этому методу, а затем вызвать что-то вроде:

if ([delegate respondsToSelector:@selector(didFinishDownload:)]) {
    [delegate performSelector:@selector(didFinishDownload:) withObject:@"test"];
}

Думаю, мне нужно пройтиуказатель объекта на метод?

Думаю, мне придется использовать *, ** и &.Но я не знаю, где мне использовать, какой из них.

Не могли бы вы мне помочь?

SideSwipe

Ответы [ 3 ]

0 голосов
/ 20 июля 2011

Почему вы не можете легко сделать, например,

if ([delegate respondsToSelector:@selector(didFinishDownload:)]) {
    [delegate performSelector:@selector(didFinishDownload:) withObject:identifier];
}

Почему вы говорите, что вам нужно сделать какую-то операцию с указателем?

0 голосов
/ 20 июля 2011

Вы обнаружите, что на все объекты в Objective C ссылаются указатели.Поэтому, когда вы объявляете строку NSString, вы делаете что-то вроде этого:

NSString *myString = @"testString";

Таким же образом выполнение alloc init для создания нового объекта возвращает указатель.Вы можете просто передать указатель непосредственно на метод.

if ([delegate respondsToSelector:@selector(didFinishDownload:)]) {
[delegate performSelector:@selector(didFinishDownload:) withObject:myString];

}

0 голосов
/ 20 июля 2011

Я думаю, - (void)postDictionary:(NSDictionary *)dictionary toURL:(NSURL *)url forDelegate:(id)delegate withIdentifier:(NSString *)identifier; - это метод, объявленный вами.

U может иметь

- (void)postDictionary:(NSDictionary *)dictionary toURL:(NSURL *)url forDelegate:(id)delegate withIdentifier:(NSString *)identifier withObject:(id)obj;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...