У меня всплыла эта случайная проблема, когда я пытался поработать над чем-то, и теперь ... Я даже пытался перезагрузить старый снимок, который, как я знаю, работал на 100%, и я просто не могу понять это дерьмо.
В основном у меня есть класс и контроллер представления, класс пытается передать некоторые данные в контроллер представления, все в классе работает отлично, все данные готовы и ожидают отправки в контроллер представления.с делегатами и протоколами, которые я настроил, но когда я отлаживаю контроллер представления, он никогда не вызывает метод протокола, который находится в контроллере представления, который я создал в классе.Я не знаю, если это простая ошибка, недосмотр или что-то, чего мне не хватает в моем коде, я сейчас напишу свой код, надеюсь, кто-то еще увидит, что мне не хватает.
Class.h
//This passes data back to the VehicleSearchViewController
@protocol SearchViewParsedData <NSObject>
- (void)sendManArray:(NSArray *)array;
- (void)sendModArray:(NSArray *)array;
@end
//..
id <SearchViewParsedData> SearchViewdelegate;
//..
//Delegates that will be acessed inside EngineRequests for passing the data mack to the viewcontroller
@property (strong) id <SearchViewParsedData> SearchViewdelegate;
//..
class.m
@synthesize SearchViewdelegate;
//..
//TODO: add if statments in this method so you can pass the data to the right methods and Views
- (void)parserDidEndDocument:(NSXMLParser *)parser
{
if ([methodName isEqualToString:@"GetMan"]) {
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%K like %@",@"ISAMAN",@"T"];
NSArray *filteredArray = [parsedDataArrayOfDictionaries filteredArrayUsingPredicate:predicate];
NSLog(@"%@", filteredArray);
[[self SearchViewdelegate]sendMan:filteredArray];
}
//..
Итак, мой класс, затем в моем viewcontroller
viewcontroller.h
#import "myClass.h"
//..
@interface MyVewController : UITableViewController <SearchViewParsedData> {
//..
MyClass *myClassResponse;
//..
viewcontroller.m
- (void)viewDidLoad
{
[super viewDidLoad];
//..
engineResponses = [[EngineResponses alloc] init];
[engineResponses setSearchViewdelegate:self];
//..
}
#pragma - EngineResponses Reciver methods
- (void)sendManArray:(NSArray *)array
{
MyFilterArray = array;
[self.tableView reloadData];
}
Это сводит меня с ума.Я уверен, что у меня все идеально, но его просто не удается сделать на viewcontroller.m - (void) sendManArray ... если у кого-то есть идеи, я бы хотел их услышать.
Это журнал, которыйгенерируется, когда я добавляю в этот nslog
NSLog(@"Checking filtered array %@ %@", [self SearchViewdelegate], filteredArray);
:
Checking filtered array (null) (
{
ISMAN = F;
ISVAR = T;
MAN = "BLAAA";
MANID = 3;
},
{
ISMAN = F;
ISVAR = F;
MAN = "BANG";
MANID = 3;
},
//etc