我已TableViewController
我将所选单元格保存在NSMUtableArray
中。选择这些单元格后,用户点击确认按钮,在此按钮操作中,我尝试传递NSMUtableArray
,以便我可以将其显示在另一个viewController
tableView
>
#import <UIKit/UIKit.h>
@protocol SelectedDXDelegate;
@interface AddDXTableViewController : UITableViewController
@property (nonatomic, strong) NSMutableArray *favDXArray;
@property (strong, nonatomic) UISearchController *searchController;
@property (nonatomic, strong) DX *AddEditDX;
@property (weak) id<SelectedDXDelegate> delegate;
- (IBAction)confirmPressed:(id)sender;
@end
@protocol SelectedDXDelegate <NSObject>
@required
-(void)getSelectedDX:(NSMutableArray *)DXselected;
@end
所以当按下确认按钮时
- (IBAction)confirmPressed:(id)sender {
[self.delegate getSelectedDX:selectedDX];
[self.navigationController popViewControllerAnimated:YES];
}
它让我进入
-(void)getSelectedDX:(NSMutableArray *)DXselected
{
myDXSelected = DXselected;
}
但它在
中的reloadData崩溃应用程序- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[self.DXTableView reloadData];
}
答案 0 :(得分:0)
您必须在故事板中的身份检查器标签中将故事板中添加的UIViewController
添加到AddDXTableViewController
。
在这里您可以看到类类型是ViewController,单击下拉列表并选择类型为AddDXTableViewController
然后将viewController输入到AddDXTableViewController
。根据我的猜测,instantiateViewControllerWithIdentifier:
返回没有委托的UIViewController
可能导致崩溃
AddDXTableViewController *addDXTVC = (AddDXTableViewController *)[self.storyboard instantiateViewControllerWithIdentifier:@"DXViewController"];
addDXTVC.delegate = self;
让我知道如果有效
答案 1 :(得分:0)
您似乎混淆了哪个视图控制器应该是委托者,哪个是委托者。此外,您只是分配.dropzone-previews .dz-preview {
margin: 0px;
margin-bottom: 10px;
}
.dropzone-previews .dz-preview .dz-image {
width: 100px;
height: 100px;
margin-bottom: 15px;
display: block;
margin: auto;
}
.drp-image > img{
display: block;
margin: auto;
}
的新实例并将其指定为委托。这不起作用;您需要将视图控制器的现有实例设置为委托。
从我的问题可以看出,实际上AddDXTableViewController
的实例是DXViewController
大概在AddDXTableViewController
你有一些类似的代码:
DXViewController
您需要做的是在此时设置您的代表:
AddDXViewController *newViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"AddDXViewController"];
[self.navigationController pushViewController:newViewController animated:YES];
说完所有这些之后,由于您使用的是故事板,因此代表可能是实现您的要求的一种不必要的复杂方式;您可以使用segue在第一个和第二个视图控制器之间移动,并使用展开segue返回到第一个。然后,您可以在第二个视图控制器中实现AddDXViewController *newViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"AddDXViewController"];
newViewController.delegate = self;
[self.navigationController pushViewController:newViewController animated:YES];
并使用它将阵列提供回第一个视图控制器