私がすることは次のとおりです。
1) ビューごとにカスタム クラスを作成します。
2) 次に、View Classes を作成したクラスに設定します。

3) 次に、これらのビュー クラス内で必要な機能を処理するコードを記述します。
@interface PageContent : UIView
- (void) showTest : (NSString *) textToShow;
@end
@implementation PageContent
- (void) showTest : (NSString *) textToShow
{
//Then here you would do whatever you need to do with this text, and display it
}
@end
@interface SoundPlayer : UIView
- (void) playSound;
@end
@implementation SoundPlayer
-(void) playSound
{
//Do whatever you need to do with the sound here.
}
@end
4) 次に、View Controller クラスでこれらの各ビューへのアウトレットを作成します。
//So your View Controller Class would look something like this.
@interface YourViewController : UIViewController
@property (strong, nonatomic) IBOutlet Page *page;
@property (strong, nonatomic) IBOutlet PageContent *pageContent;
@property (strong, nonatomic) IBOutlet SoundPlayer *soundPlayer;
@end
5) 次に、View Controller @implementation で次のようなことができます
@implementation YourViewController
-(void) showContent
{
[self.pageContent showText:@"Text To Show"];
}
-(void) playSound
{
[self.soundPlayer playSound];
}
@end
View Controllerでこれらの([self showContent]または[self playSound])メソッドを呼び出すと、特定のビューのメソッドが呼び出されるため、再利用できない非常に長いView Controllerがなくなります。
ビューの例を示しただけです。ここで私が何をしているかを見て、必要なものすべてにこれを実装していただければ幸いです。