为什么继承必须从 NSObject 开始,然后在另一个类中使用继承?
想知道为什么我有一个来自 UIViewController 的子类“FatherClass”。所以我想创建一个继承FatherClass(ChildClass:FatherClass)。
我不能这样做,我得到一个错误日志。我在这里和 Google 搜索的所有示例都以 NSObject 作为父亲开头。
所以我的问题必须是这样吗?还是我在某个地方错了。
这是错误日志
#0 0x33d6c6f8 in CFStringGetCharacters ()
CoreFoundation`CFStringGetCharacters:
0x33d6c6f8: push.w {r8, r10}
谢谢
在这里编辑代码
父类.h
@class ChildClass;
@interface FatherClass : UIViewController <UITabBarControllerDelegate, UINavigationBarDelegate, UIPopoverControllerDelegate, MKMapViewDelegate, MKAnnotation>
{
//Some variables
}
@property (nonatomic, strong) ChildClass *sidebar_table_controller;
-(void) show_modal: (id) sender; // Thats the Method i want to call
@end
父类.m
#import "FatherClass.h"
#import "ChildClass.h"
@interface FatherClass ()
@end
@implementation FatherClass
@synthesize sidebar_table_controller;
// All inits here... DidiLoad, DidUnload, etc..
-(void) show_modal: (id) sender // Thats the Method!!!
{
// All initiate ChildClass an then.. present modal
[self presentModalViewController:self.sidebar_table_controller animated:YES];
NSLog(@"Clicked ?...%@", sender);
}
@end
现在的孩子
子类.h
@interface ChildClass : FatherClass <UINavigationControllerDelegate, UITableViewDataSource, UITableViewDelegate>
@end
子类.m
#import "ChildClass.h"
@interface ChildClass ()
@end
@implementation ChildClass
// All inits here... DidiLoad, DidUnload, etc..
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
// Here i want to call Father Method
[FatherClass show_modal:indexPath];
}
@end
当我将 ChildClass : UIViewController 更改为 ChildClass : FatherClass 我的应用程序崩溃。