将数据传回上一个视图控制器导致eroor?

时间:2015-11-02 10:29:28

标签: ios objective-c iphone ipad

我有一个视图控制器HomeController& BookController。我将从视图控制器HomeController转到BookController。我将数据传回上一个视图控制器。所以我使用了这种方法。

#import <UIKit/UIKit.h>
#import "BaseController.h"
#import <MediaPlayer/MediaPlayer.h>
@protocol HomeProtocol
- (void)setComment:(BOOL)data;
-(void)setCommnetArray:(NSMutableArray*)data;
@end
@protocol BookProtocol
-(void)setBook:(BOOL)status;
@end
@interface HomeViewController : BaseController<UITableViewDataSource,UITableViewDelegate,HomeProtocol,UIScrollViewDelegate,BookProtocol,UINavigationControllerDelegate>
@property (weak, nonatomic) IBOutlet UITableView *table_view;
@property BOOL hasUserPostedComment;
@property NSInteger commentIndex;
@property (weak, nonatomic) IBOutlet UILabel *label_post_status;
@property UIRefreshControl *refreshControl;
@property NSInteger start_offset;
@property NSInteger end_offset;
@property (weak, nonatomic) IBOutlet UIButton *btn_refresh;
@property NSMutableArray *temp_user_cooments;
@property MPMoviePlayerController *moviePlayerController;
@property BOOL isBookMarkLoaded;

@end

BookMarkController.h

#import <UIKit/UIKit.h>
#import "BaseController.h"
#import "HomeViewController.h"
#import <MediaPlayer/MediaPlayer.h>

@protocol HomeProtocol
- (void)setComment:(BOOL)data;
-(void)setCommnetArray:(NSMutableArray*)data;
@end
@interface BookMarkController : BaseController<UITableViewDataSource,UITableViewDelegate,HomeProtocol,UIScrollViewDelegate>
@property (nonatomic, weak) id<BookProtocol> myDelegate;
@property (weak, nonatomic) IBOutlet UITableView *table_view;
@property BOOL hasUserPostedComment;
@property NSInteger commentIndex;
@property (weak, nonatomic) IBOutlet UILabel *label_post_status;
@property UIRefreshControl *refreshControl;
@property NSInteger start_offset;
@property NSInteger end_offset;
@property (weak, nonatomic) IBOutlet UIButton *btn_refresh;
@property NSMutableArray *temp_user_cooments;
@property MPMoviePlayerController *moviePlayerController;
@property NSString *index;

@end

方法实施

-(void)setBook
{
    NSLog(@"set book called");
    self.isBookMarkLoaded=true;
}

错误Unrecognized selector sent to instance。请告诉我这里有什么问题。

1 个答案:

答案 0 :(得分:0)

@protocol BookProtocol - (无效)setBook:(BOOL)状态; @end

将以上协议添加到BookMarkController.h。在BookMarkController.h文件中创建相同的委托。调用 - (void)setBook:(BOOL)状态;来自BookMarkController.m文件

在HomeViewController.h文件中添加委托。定义 - (void)setBook:(BOOL)状态;在HomeViewController.m文件中,并将委托分配给self。

这就是全部。