Либо, как сказал Денис, использовать Core Data (можно в купе с NSFetchedResultController), либо свой класс Storage, который пропихиваешь в контроллеры с помощью dependency injection. По ситуации надо смотреть. В некоторых случаях лучше передавать делегатом, либо closure.