these 2 are the files where i m creating a protocol and then declare the delegate in another class
this is my favouriteViewController.h
#import <UIKit/UIKit.h> #import <CoreData/CoreData.h> #import "ViewController.h" @class FavouritesTableViewController; @protocol FavouritesTableViewControllerDelegate<NSObject> - (void)senDetailsViewController:(FavouritesTableViewController *)controller didFinishEnteringItem:(NSArray *)item; @end @interface FavouritesTableViewController : UITableViewController <UISearchControllerDelegate,UISearchBarDelegate> @property (strong, nonatomic) IBOutlet UISearchController *search; @property (strong, nonatomic) IBOutlet UITableView *table; @property (nonatomic, weak) id < FavouritesTableViewControllerDelegate > delegate; @end and this is my viewController.h
#import <UIKit/UIKit.h> #import <CoreLocation/CoreLocation.h> #import "FavouritesTableViewController.h" @interface ViewController : UIViewController <CLLocationManagerDelegate,FavouritesTableViewControllerDelegate> @property (weak, nonatomic) IBOutlet UIImageView *weatherIcon; @property (weak, nonatomic) IBOutlet UILabel *Place; @property (weak, nonatomic) IBOutlet UILabel *Temperature; @property (weak, nonatomic) IBOutlet UILabel *unit; @property (weak, nonatomic) IBOutlet UILabel *weatherText; @property (weak, nonatomic) IBOutlet UITextView *Info; @property (weak, nonatomic) IBOutlet UILabel *summary; @property (strong,nonatomic) NSString *longitude; @property (strong,nonatomic) NSString *latitude; @property (strong,nonatomic) NSString *locationName; @property BOOL setLocation; @property (weak, nonatomic) IBOutlet UIScrollView *scroll; - (IBAction)forecast:(UIButton *)sender; - (IBAction)Share:(UIButton *)sender; - (IBAction)history:(UIButton *)sender; @property (weak, nonatomic) IBOutlet UIActivityIndicatorView *activIndicator; - (IBAction)favbutton:(id)sender; @end the error i get is
:- Cannot find protocol declaration for 'FavouritesTableViewControllerDelegate'
I'm declaring these methods and protocols to pass data from FavouriteViewController to ViewController
and this is the protocol method which i call in ViewController.m
-(void)senDetailsViewController:(FavouritesTableViewController *)controller didFinishEnteringItem:(NSArray *)item { controller.delegate = self; self.latitude = [item[0] valueForKey:@"lat"]; self.longitude = [item[0] valueForKey:@"long"]; self.locationName = [item[0] valueForKey:@"name"]; self.setLocation = YES; [self viewDidLoad]; }
favouriteViewController.hbut included anotherFavouritesTableViewController.h