Objective-C 클래스 메소드와 인스턴스 메소드에 대한 몇 가지 질문
巴扎黑
巴扎黑 2017-04-24 09:13:06
0
2
489

이전에는 프론트엔드 js 작업을 하고 있었습니다
iOS를 쓰면서 서서히 Objective-C를 접하기 시작했습니다
질문이 있습니다

으아악

위 예시에서는 내 질문이 강조표시되지 않을 수 있습니다
질문은
인스턴스 메소드는 인스턴스를 생성한 다음 해당 인스턴스를 사용하여
를 호출해야 합니다. 즉, 메모리에 인스턴스가 있어야 합니다
인스턴스를 사용하지 않고 특정 작업을 수행하려는 경우
그러면 API를 설계할 때 클래스 메소드로 설계하면 클래스명을 통해 직접 호출할 수 있게 됩니다
그런데 이 경우에는 메모리에 인스턴스가 생성되지 않을까요??
즉, 인스턴스가 생성되지 않더라도 메모리는 계속 할당됩니다
만약

으아악

이 경우 메모리 공간은 얼마나 할당되나요?
그런데 코드 도메인(메소드 내 등)이 끝난 후 메모리 공간이 정상적으로 해제될 수 있나요?

巴扎黑
巴扎黑

모든 응답(2)
阿神

당신이 제시한 예에서 객체 메소드이든 클래스 메소드이든 그 목적은 객체 인스턴스를 얻는 것입니다.
메모리 공간을 먼저 할당하지 않고 어떻게 개체를 구성할 수 있나요?
아마도 이것이 클래스 메소드에서 구현되는 방식일 것입니다:

으아아아
PHPzhong

Ctrl을 누른 채 NSString을 클릭하여 살펴보세요.

으아악

이 두 가지 방법의 앞부분을 보면 하나는 "-"이고 다른 하나는 "+"입니다
oc에서는 더하기 기호를 사용하여 메서드를 선언하면 인스턴스화 없이 이 클래스의 메서드를 호출할 수 있습니다.
빼기 기호를 사용하여 메서드를 선언하는 경우 이 클래스에서 메서드를 호출하기 전에 먼저 개체를 할당해야 합니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿