私は現在、Objective-Cを再び起動しています。私が抱えている問題は、クラスインスタンスのネイティブinitメソッドに変数を渡すことです。
@interfaceにこのカスタムinitがあります:
-(id)init
{
if(self = [super init]) {
level = 1;
NSLog(@"Debug response");
}
return ([NSObject init]); // return self;
}
そして、これが私のアプリのメインクラスです:
#import "AppDelegate.h"
#import "PlayableCharacter.h"
@implementation AppDelegate
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
// Insert code here to initialize your application
NSArray *params = [NSArray arrayWithObjects: @"Elf", nil];
PlayableCharacter *allendar = [[PlayableCharacter alloc] init:params];
}
@end
誰かが私が間違っていることを説明できますか?NSArrayオブジェクトは「id」Cオブジェクトのプロファイルに適合すると思いました。initパラメータを与えることは違法ですか、それとも別の方法で行う必要がありますか?
エラーは次のように述べています:「「PlayableCharacter」の表示された@interfaceはセレクター「init:」を宣言していません」