有一个带有表视图的XIB的UIViewController子类,我决定将其转换为没有XIB的UITableViewController子类。
所以在。h
领导者中我改变了:
@interface AViewController : UIViewController <UITableViewDataSource, UITableViewDelegate,
UISearchBarDelegate, UISearchDisplayDelegate>
@property (nonatomic, weak) IBOutlet UITableView* tableView;
为:
@interface AViewController : UITableViewController <UISearchDisplayDelegate, UISearchBarDelegate>
在.m
模块文件中,我的init
更改了一行:
if (self = [super initWithNibName:@"AView" bundle:nil])
为:
if (self = [super initWithStyle:UITableViewStylePlain])
这应该是你所期望的。但是当我运行应用程序时它会崩溃。 init
被调用并返回,但很快就崩溃了。不会调用viewDidLoad
等。
我尝试了很多东西:删除XIB,清理构建文件夹......,从设备中删除应用程序,重新启动Xcode,重新启动Mac,但没有任何效果。
在此模块中将AViewController
重命名为AViewController_
的工作是什么,然后在我的应用中使用它。
我的猜测是XIB有一些内存,而且XIB仍在实例化;但这是一个奇怪的猜测。
知道这可能是什么以及如何解决它?
答案 0 :(得分:0)
我将所有其他XIB更新为Xcode 5,问题就消失了。