Я пытаюсь вызвать метод, который находится в моем ViewController, из класса NSObject, который выполняет некоторый синтаксический анализ.
Сначала я вызываю класс соединения, который я сделал, который загружает некоторые данные с моего сервера, затем я передаю эти данные классу синтаксического анализатора, который я сделал, теперь я пытаюсь передать эти данные обратно в контроллер просмотра и перезагрузить таблицу это в этом представлении (это в стеке навигации)
в любом случае это вызывает некоторые ошибки, и я думаю, что это может быть то, как я пытаюсь вызвать этот метод, который это делает. вот как я это называю.
MyViewController *myViewController = [[MyViewController alloc] init];
[myViewController initFilterArray:filteredArray];
Теперь я думаю, что это вызывает проблему, потому что я выделяю новый объект контроллера представления? это правильно.. не уверен в терминологии.. но да..
результатом чего является то, что reloaddata вызывает только
- числосекцийинтаблевиев
- tableView: количество строк в разделе
тогда это все. любая помощь будет оценена.
ОБНОВЛЕНИЕ: поэтому я пытаюсь настроить протокол/делегата, чтобы посмотреть, решит ли это мою проблему.
так что в моем class.h это то, что я делаю
@protocol PassParsedData <NSObject>
@required
- (void) sendMyArray:(NSArray *)modelArray;
@end
//..
id <PassParsedData> delegate;
//..
@property (strong) id delegate;
потом в кл.м
//..method
[[self delegate]sendMyArray:filteredArray];
//..
так что это мой класс, затем в моем контроллере представления, где я хочу вызвать этот sendMyArray, я делаю это
viewcontroller.h
#import "class.h" //delegates & protocols
//..
interface VehicleSearchViewController : UITableViewController <PassParsedData> {
//..
тогда я называю это так
viewcontroller.m //..
- (void)sendArray:(NSArray *)array
{
ICMfgFilterArray = array;
[self.tableView reloadData];
}