ViewController オブジェクトのインスタンスにデフォルト値を渡そうとしています。コードは警告なしでコンパイルされ、ステップスルーして値が設定されているのを確認しますが、アプリを起動すると UI の値がゼロに戻ります。まるで 2 つの異なるインスタンスを作成しているかのようですが、初期化された値が起動されたアプリケーションの一部ではない理由を一生理解できません。これが実装と main.m コードです。どんな助けでも大歓迎です。
#import "AppDelegate.h"
#import <UIKit/UIKit.h>
#import "ViewController.h"
int main(int argc, char *argv[]) {
//NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
@autoreleasepool {
ViewController *viewController;
viewController = [[ViewController alloc]initWithBinauralFrequencyLeft:82.4
binauralFreqRight:82.4
octaveValue:1
baseScaleSetting:82.4
binauralBaseVolume:800
globalBaseSongCount:0];
int retVal = UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
//[pool release];
return retVal;
}
}
-(id)initWithBinauralFrequencyLeft:(double)binauralFreqL
binauralFreqRight:(double)binauralFreqR
octaveValue:(double)octaveVal
baseScaleSetting:(double)baseScaleSet
binauralBaseVolume:(int)binauralVolume
globalBaseSongCount:(int)globalSongCount;
{
self = [super init];
if (self){
[self setBinauralFreqL:82.4];
[self setBinauralFreqR:82.4];
[self setOctaveVal:1];
[self setBaseScaleSet:82.4];
[self setBinauralVolume:800];
[self setGlobalSongCount:0];
}
return self;
}
-(id)init
{
return [self initWithBinauralFrequencyLeft:82.4 binauralFreqRight:82.4 octaveValue:1 baseScaleSetting:82.4 binauralBaseVolume:800 globalBaseSongCount:0];
}