Question: what is the difference between private and fileprivate in swift?
Answer: fileprivate allows use only within the defining source file. private allows use only from the enclosing declaration and new in Swift 4, to any extensions of that declaration in the same source file.