gpt4 book ai didi

iphone - Storyboard的 UITableview 中未调用 initWithStyle

转载 作者:行者123 更新时间:2023-12-01 16:49:07 24 4
gpt4 key购买 nike

我正在一个项目中尝试使用这个框架 VPPDropdown
但我希望它与 storyboard 一起使用.

那我做了什么?我拖了一个UITableviewController在屏幕上。然后在我的代码中我有这个。

- (id)initWithStyle:(UITableViewStyle)style
{
self = [super initWithStyle:style];
if (self) {
// Custom initialization
_dropDownSelection = [[VPPDropDown alloc] initSelectionWithTitle:@"Selection Combo"
tableView:self.tableView
indexPath:[NSIndexPath indexPathForRow:kRowDropDownSelection inSection:kSection1]
delegate:self
selectedIndex:1
elementTitles:@"Option 1", @"Option 2", @"Option 3", nil];

_dropDownDisclosure = [[VPPDropDown alloc] initDisclosureWithTitle:@"Disclosure Combo"
tableView:self.tableView
indexPath:[NSIndexPath indexPathForRow:kRowDropDownDisclosure inSection:kSection1]
delegate:self
elementTitles:@"Disclosure 1", @"Disclosure 2", @"Disclosure 3", @"Disclosure 4", @"Disclosure 5", nil];


NSMutableArray *elts = [NSMutableArray array];
for (int i = 1; i <= 4; i++) {
// just some mock elements
VPPDropDownElement *e = [[VPPDropDownElement alloc] initWithTitle:[NSString stringWithFormat:@"Element %d",i] andObject:[NSNumber numberWithInt:i]];
[elts addObject:e];
}

_dropDownCustom = [[VPPDropDown alloc] initWithTitle:@"Custom Combo"
type:VPPDropDownTypeCustom
tableView:self.tableView
indexPath:[NSIndexPath indexPathForRow:kRowDropDownCustom inSection:kSection2]
elements:elts
delegate:self];
}
return self;
}

经过一番研究,我发现当您使用 UITableViewControllerstoryboard 内.上面的方法没有被调用。并且您应该将该代码放入:
-(id)initWithCoder:(NSCoder *)aDecoder {
if ( !(self = [super initWithCoder:aDecoder]) ) return nil;

// Your code goes here!

return self;
}

当我这样做时,我收到以下错误

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle </Users/stefgeelen/Library/Application Support/iPhone Simulator/6.1/Applications/6D0EF4BF-068C-493C-A1A5-CFAA2B935D56/claesdistribution.app> (loaded)' with name 'DR7-d0-mee-view-dDq-is-22f''



有人可以帮我解决这个问题吗?

最佳答案

使用 Interface Builder 时,您应该将初始化代码放在此方法中:

- (void)awakFromNib
{

}

注意:没有 [super awakFromNib] 可以调用,也不要调用 [super initWithStyle]。

还应注意, Controller 中的许多 UI 元素可能尚未在 awakFromNib 中初始化,因此应该在 viewDidLoad 中更好地访问其中一些元素。

关于iphone - Storyboard的 UITableview 中未调用 initWithStyle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17716922/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com