0

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];
}
4

1 に答える 1

2

ViewControllerが実際にAppDelegate.mファイルからインスタンス化されている可能性があります-そこでチェックインしてください。カスタマイズされたメッセージではなく、おそらく標準のinitメッセージを送信しているだけです。

UIApplicationMainを呼び出す前にViewControllerを作成する必要はないと思います。

于 2013-01-22T03:24:53.257 に答える