У меня есть UITableView
в моем приложении, и я пытаюсь вытащить его методы делегата в отдельный UITableViewDelegate
. Это то, что код выглядит следующим образом:Сложность пытается реализовать отдельный UITableViewDelegate
RestaurantViewDelegate *delegate = [[RestaurantViewDelegate alloc] initWithRestaurant:self.restaurant andRecommended:self.recommended];
self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 235.0f, self.view.frame.size.width, self.view.frame.size.height-235)];
self.tableView.delegate = delegate;
self.tableView.dataSource = delegate;
[self.view addSubview:self.tableView];
И это то, что RestaurantViewDelegate
выглядит следующим образом:
// RestaurantViewDelegate.h
@interface RestaurantViewDelegate : NSObject <UITableViewDelegate>
@property (nonatomic, strong) NSArray *recommendations;
@property (nonatomic, strong) Restaurant *restaurant;
- (id)initWith Restaurant:(Restaurant *)restaurant andRecommended:(NSArray *)recommendations;
@end
и
// RestaurantViewDelegate.m
@implementation RestaurantViewDelegate
@synthesize recommendations = _recommendations;
@synthesize restaurant = _restaurant;
- (id)initWith Restaurant:(Restaurant *)restaurant andRecommended:(NSArray *)recommendations {
self = [super init];
if (self != nil) {
_recommendations = recommendations;
_restaurant = restaurant;
}
return self;
}
#pragma mark - UITableViewDataSource
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
NSLog(@"Recommendations: %d", [_recommendations count]);
return [_recommendations count];
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return 48.0f;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *MyIdentifier = @"MyIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];
if (cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MyIdentifier];
}
return cell;
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
@end
Однако, когда я бегу мое приложение и нажмите на ячейку , все камеры исчезают. Я действительно не знаю, что вызывает это. Любые идеи относительно того, что я делаю неправильно?
Опубликовать больше кода. Что делает didSelectRowAtIndexPath? –