2011-08-31 4 views
-2

У меня есть два метода в моем NSObject.Как мне вызвать метод из другого метода того же NSObject?

Я хотел бы знать, как установить текст одним методом из другого, а затем выполнить этот метод из того, где я установил текст?

Это то, что я сделал до сих пор. Просто теряю, пытаюсь передать вещи между представлениями и настраивать таблицы.

- (IBAction) getManufacturers 
{ 
    //set manufacture.php 
    NSString *manufactureString = [[NSString alloc] initWithString:@"manufacture.php"]; 
    submissionString = manufactureString; 
    self.grabURLInBackground; //<--- this is wrong, how do I call my other method? 
} 

//... 


- (IBAction)grabURLInBackground:(id)sender 
{ 
    NSURL *url = [NSURL URLWithString:@"http://127.0.0.1:8888/CodeTest/%@", settexthere]; 
    ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; 
    [request setDelegate:self]; 
    [request startAsynchronous]; 
} 

// Изменено: Так что я в конечном итоге делает это просто добавление к NSString В параметре метода grabURLInBackground который устанавливается из другого метода, как describeded ниже

[self grabURLInBackground:submissionString]; 

все хорошо.

Теперь мне просто нужно выяснить, как передать данные, которые у меня есть, в новый uitableview .. :) спасибо за помощь ребятам.

+0

Ваш manufactureString подтекает и должен быть выпущеным. Или, что еще лучше, просто сделайте submitString = @ production.php ". И поскольку свойство представленияString, вероятно, является сохраненным свойством, используйте вместо этого self.submissionString = @ production.php. – picciano

ответ

1
[self grabURLInBackground:nil]; 

это должно работать, если вы объявили функцию в прототипе

Я думаю, что вы хотите установить строку? В этом случае вам нужна новая функция

прототип

- (void) grabURLInBackgroundWithSubmission:(NSString*):submission;

реализация

- (void) grabURLInBackgroundWithSubmission:(NSString*):submission{ 
    NSURL *url = [NSURL URLWithString:@"http://127.0.0.1:8888/instaCodeTest/%@", submission]; 
    ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; 
    [request setDelegate:self]; 
    [request startAsynchronous]; 
} 

и назвать его [self grabURLInBackgroundWithSubmission:submissionString];

+0

что произойдет, если я установлю идентификатор на строку, так как эта функция от warpper ASIHttpRequest. Я думал об изменении, но я не был уверен, что это испортит эту функцию. –

+0

на самом деле не отвечают, что .. Я просто собираюсь сделать свой собственный метод с NSStrin * ... спасибо за ответ. –

+1

получает функцию, называемую откуда-то еще, например, в Interfacebuilder? Если нет, вы можете перезаписать его – Seega

1

Нравится?

[self grabURLInBackground:nil] 

Но вы можете переместить функциональность от grabURLInBackground к другому методу, так что вам не придется пройти фиктивный параметр ноль.

Смежные вопросы