2

UIViewController がロードされたときにインスタンスが作成されるクラスがあります。特定のイベントが発生したときに ViewController を更新できるようにするには、このクラスのインスタンスが必要です。これが私がこれを達成した方法です:

AViewController.h

@property (weak, nonatomic) IBOutlet UIProgressView *progress;
@Property (strong, nonatomic) ClassB *classB
-(void)incrementProgressBar: (NSNumber *)currentProgress;

AViewController.m

-(void)viewDidLoad
{
    _classB = [ClassB alloc]initWithNonReleventVariable:variable];
    [_classB setInstanceViewController:self]
}
-(void)incrementProgressBaar: (NSNumber *)currentProgress;
{
    [_progressBar setProgress:[currentProgrsss floatValue] animated:YES];
}

ClassB.h

@property (strong, nonatomic)AViewController *avc;
@property (nonatomic) double progress;

ClassB.m

-(void)incrementExerciseProgress
{
    //do some calculations here
    [self.avc incremtProgressBar:[NSNumber numberWithDouble:_progress]];
}

私はこのコードを他の人から継承しましたが、正しく動作します。だから私の質問はこれです:これはこれを達成するための「正しい」方法ですか? これがベストプラクティスかどうか知りたいですか?または、それを修正するために私ができることではない場合でも、そうでした。私はこのプロジェクトに少し時間があるので、可能であれば正しく行うようにしたいと思っています。ありがとう。

4

2 に答える 2