iOSプログラミングを学び始めたばかりで、継承に問題があります。 2つのファイルがあります。objective-C(iOS sdk)での継承のしくみ
まずファイル
ヘッダー
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController {
int x;
}
@end
実装:
#import "ViewController.h"
#import "NewClass.h"
@implementation ViewController
#pragma mark - View lifecycle
- (void)viewDidLoad
{
[super viewDidLoad];
x = 999;
NewClass *myClass = [[[NewClass alloc] init] autorelease];
}
@end
セカンドファイル
ヘッダー:
#import "ViewController.h"
@interface NewClass : ViewController
@end
実装:
私は999にXを設定し、NewClassで、私はそれを取得したいが、私はNSLog(@"%i",x);
を呼び出すとき、それは私が作った0
を与えるのViewControllerで
#import "NewClass.h"
@implementation NewClass
-(id)init {
self = [super init];
if (self != nil) {
NSLog(@"%i",x);
}
return self;
}
@end
間違い?
NSCl(@ "%i"、x)をNewClassで呼び出すと、999が表示されます。どのように問題を解決しますか? – KopBob