Objective-C에서 클래스의 일부 메소드에는 더하기 기호가 있고 일부는 - 빼기 기호가 있습니다. 두 메소드의 차이점은 다음과 같습니다.
앞에 더하기 기호( )가 붙은 메서드는 클래스 메서드입니다. 이러한 유형의 메서드는 클래스 이름을 사용하여 직접 호출할 수 있습니다. 주요 기능은 인스턴스를 생성하는 것입니다. 어떤 사람들은 이를 인스턴스 생성을 위한 팩토리 메소드라고 부릅니다. (className::methodName을 통해 호출되는 PHP의 정적 클래스 메소드와 유사)
빼기 기호(-)가 앞에 있는 메소드는 인스턴스 메소드이며 클래스의 인스턴스를 사용하여 호출해야 합니다. (PHP의 일반 클래스와 유사하게 메소드를 호출하려면 먼저 객체를 인스턴스화한 후 $obj->methodName을 통해 호출해야 합니다)
기본적으로는 맞습니다. 그러나 클래스 메서드는 기본적으로 PHP의 정적 메서드와 동일합니다. 정적 메서드는 원하는 대로 사용할 수 있습니다. 정적 메서드는 인스턴스만 생성할 수 있다고 규정한 사람은 없습니다.