
[英]Invalid context 0x0 error when calling UIGraphicsBeginImageContext. Similar error occurs when calling any Core Graphics 'AddPath' functions as well
[英]NSInvalidArgumentException error occurs when calling setDelegate
我正在尝试从iOS5的uitableview选择另一个屏幕。 我已经建立了一个代表等,它似乎可以正常工作(发生segue),但是我认为我需要“设置代表以初始化要在新屏幕上显示的数据。我收到NSInvalidArgumentException错误,但是当我调用它时预备。
这是uitableview部分的代码...
#import "iTanksV2ListViewController.h"
#import "tank.h"
#import "tankDetailViewController.h"
@interface iTanksV2ListViewController ()
@property tank *selectedTank;
@end
@implementation iTanksV2ListViewController
@synthesize tanks = _tanks;
@synthesize tankTableView = _tankTableView;
@synthesize delegate = _delegate;
@synthesize selectedTank = _selectedTank;
- (id)initWithStyle:(UITableViewStyle)style
{
self = [super initWithStyle:style];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
self.tankTableView.delegate = self;
self.tankTableView.dataSource = self;
}
-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([segue.identifier isEqualToString:@"Show Tank Details"])
{
UILabel *myLabel = [[UILabel alloc] init];
myLabel.text = self.selectedTank.tankNumber;
[segue.destinationViewController setTankNumberLabel:myLabel];
[segue.destinationViewController setDelegate:self]; ///this is where it fails!!!
}
}
#pragma mark - Table view delegate
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
self.selectedTank = [self.tanks objectAtIndex:indexPath.row];
[self.delegate iTanksListViewController:self choseTank:self.selectedTank];
}
然后在详细视图中,我使用以下内容...
-(void)iTanksListViewController:(iTanksV2ListViewController *)sender choseTank:(id)tank
{
self.tankToShow = tank;
}
但这不会被调用-大概是因为我没有成功调用setdelegate方法?
您必须未合成委托属性。 另外,请确保您的头文件正确引用了委托协议,例如
@interface TankDetailViewController : UITableViewController <DELEGATEPROTOCOL>
我以为我有...此代码段来自itanksv2listviewcontroller头文件:
@interface iTanksV2ListViewController : UITableViewController
@property (nonatomic, strong) NSArray *tanks;
@property (weak, nonatomic) IBOutlet UITableView *tankTableView;
@property (weak, nonatomic) id <iTanksV2ListViewControllerDelegate> delegate;
@end
这是从m文件:
@synthesize delegate = _delegate;
这就是我在detailview m文件中输入的内容:
@interface tankDetailViewController () <iTanksV2ListViewControllerDelegate>
@end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.