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