If I'm not mistaken, your case is when you add them to an extension
, you won't be able to access private
vars/methods.
You have (what I suggest) two possible solutions:
1- If you want to keep them in a separated extension (but in the same .swift file) for the purpose of organizing your code, you need to change private
to fileprivate
.
For more information about access modifiers in Swift 3, you might want to check this answer.
2- Keep them in the ViewController and use // MARK: - IBActions
, it marks sections in the symbol navigator.
For example:

As you can see, there are // MARK: - Core Data stack
, // MARK: - Core Data Saving support
and //MARK: - Machines Core Data
to separate the code and make it more readable and organized.
Hope it helped.