Swift 4 Updated answer:
There are two different access controls: fileprivate and private.
fileprivate can be accessed from their entire files.
private can only be accessed from their single declaration and extensions.
For example:
// Declaring "A" class that has the two types of "private" and "fileprivate":
class A {
    private var aPrivate: String?
    fileprivate var aFileprivate: String?
    func accessMySelf() {
        // this works fine
        self.aPrivate = ""
        self.aFileprivate = ""
    }
}
// Declaring "B" for checking the abiltiy of accessing "A" class:
class B {
    func accessA() {
        // create an instance of "A" class
        let aObject = A()
        // Error! this is NOT accessable...
        aObject.aPrivate = "I CANNOT set a value for it!"
        // this works fine
        aObject.aFileprivate = "I CAN set a value for it!"
    }
}
For more information, check Access Control Apple's documentation, Also you could check this answer.