Swift에는 "친구"클래스의 개념이 없습니다. 하지만 확장 프로그램에서 비공개를 사용하여 해킹 할 수 있습니다. 이 기능을 사용하려면 확장 클래스와 PhotoImage 및 PhotosViewController가 하나의 파일에 있어야합니다. UIImage 확장 기능에서 private를 사용하면 추가 된 함수는이 파일에만 표시되며 다른 파일에는 표시되지 않습니다.
PhotosViewController.swift
private extension UIImage
{
func applyFilter()
{
}
}
class PhotosViewController : UIViewController
{
// applyFilter function in visible in this class
}
AnotherViewController.swift
class PhotosViewController : UIViewController
{
// applyFilter function in NOT visible in this class
}
클래스 연장 점은 클래스의 모든 인스턴스 클래스를 확장하는 것이다. 귀하의 기능이 매우 구체적이어서 도우미 클래스에 더 적합한 것처럼 들립니다. –