[흑마 프로그래머] - OC 특유의 문법
점 문법
점문법의 본질은 역시 방법 호출이다p.age = 10; // [p setAge:10];
int a = p.age; // [p age];
2. 구성원 변수의 역할 영역
@public :
@private : (@implementation @private)
@protected : (@interface @protected)
@package : ,
@interface @implementation
3. @property와 @synthesize
@property: 구성원 변수를 자동으로 생성할 수 있는 setter와 Getter 성명
@property int age;
//- (void)setAge:(int)age;
//- (int)age;
@synthesize는age의setter와getter를 자동으로 생성하고 접근합니다age 이 멤버 변수
@synthesize age = _age;
기본적으로age라는 구성원 변수에 접근합니다.age가 없으면 @private 형식의age 변수를 자동으로 생성합니다
id
id = = NSObject * 모든 OC 객체를 가리키고\조작할 수 있는 만능 포인터
5. 구조 방법
1. 구조 방법:
대상을 초기화하는 방법은 대상 방법입니다. - 시작.
2. 구조 방법을 다시 쓰는 목적:
대상을 만들기 위해서 구성원 변수는 고정된 값이 있습니다
3. 구조 방법을 다시 쓰는 주의점
1> 부모 클래스의 구조 방법을 먼저 호출합니다 ([super init])
2> 하위 클래스 내부 구성원 변수 초기화
4. 맞춤형 구성 방법
사용자 정의 구조 방법의 규범 1>는 반드시 대상 방법이고, 반드시 - 시작 2>반환값은 일반적으로 id 형식 3>방법명은 일반적으로 initWith로 시작한다
6. 분류 - 캐티고리
1. 기본 용도
p.age = 10; // [p setAge:10];
int a = p.age; // [p age];
@public :
@private : (@implementation @private)
@protected : (@interface @protected)
@package : ,
@interface @implementation
3. @property와 @synthesize
@property: 구성원 변수를 자동으로 생성할 수 있는 setter와 Getter 성명
@property int age;
//- (void)setAge:(int)age;
//- (int)age;
@synthesize는age의setter와getter를 자동으로 생성하고 접근합니다age 이 멤버 변수
@synthesize age = _age;
기본적으로age라는 구성원 변수에 접근합니다.age가 없으면 @private 형식의age 변수를 자동으로 생성합니다
id
id = = NSObject * 모든 OC 객체를 가리키고\조작할 수 있는 만능 포인터
5. 구조 방법
1. 구조 방법:
대상을 초기화하는 방법은 대상 방법입니다. - 시작.
2. 구조 방법을 다시 쓰는 목적:
대상을 만들기 위해서 구성원 변수는 고정된 값이 있습니다
3. 구조 방법을 다시 쓰는 주의점
1> 부모 클래스의 구조 방법을 먼저 호출합니다 ([super init])
2> 하위 클래스 내부 구성원 변수 초기화
4. 맞춤형 구성 방법
사용자 정의 구조 방법의 규범 1>는 반드시 대상 방법이고, 반드시 - 시작 2>반환값은 일반적으로 id 형식 3>방법명은 일반적으로 initWith로 시작한다
6. 분류 - 캐티고리
1. 기본 용도
@property int age;
//- (void)setAge:(int)age;
//- (int)age;
@synthesize age = _age;
id = = NSObject * 모든 OC 객체를 가리키고\조작할 수 있는 만능 포인터
5. 구조 방법
1. 구조 방법:
대상을 초기화하는 방법은 대상 방법입니다. - 시작.
2. 구조 방법을 다시 쓰는 목적:
대상을 만들기 위해서 구성원 변수는 고정된 값이 있습니다
3. 구조 방법을 다시 쓰는 주의점
1> 부모 클래스의 구조 방법을 먼저 호출합니다 ([super init])
2> 하위 클래스 내부 구성원 변수 초기화
4. 맞춤형 구성 방법
사용자 정의 구조 방법의 규범 1>는 반드시 대상 방법이고, 반드시 - 시작 2>반환값은 일반적으로 id 형식 3>방법명은 일반적으로 initWith로 시작한다
6. 분류 - 캐티고리
1. 기본 용도
1. 기본 용도
l 분류
2. 서식
@interface ( )
//
@end
@implementation ( )
//
@end
3. 이점
하나의 방대한 종류는 모듈로 나누어 개발할 수 있다
하나의 방대한 종류는 여러 사람이 작성할 수 있어 팀워크에 더욱 유리하다
4. 시스템 자체 클래스에 분류 추가
NSString 에 클래스 추가: 문자열의 아라비아 숫자 개수를 계산합니다.
NSString에 객체 추가 방법: 현재 문자열의 아라비아 숫자 개수를 계산합니다.
5. 주의
1.분류는 방법만 증가할 수 있고, 구성원 변수는 증가할 수 없습니다.
2.분류 방법 구현 중 원래 클래스에 표시된 구성원 변수에 접근할 수 있습니다
3.분류는 원래 클래스의 방법을 다시 실현할 수 있지만, 원래의 방법을 덮어씌워 원래의 방법을 다시 사용할 수 없게 할 수 있다
4.방법 호출 우선 순위: 분류 (마지막으로 컴파일에 참여한 분류 우선) --> 원래 클래스 --> 부류
7.류의 본질
(라이브러리: 여러 종류의 집합)
1. 클래스도 대상이다
typedef struct objc_class *Class;
2. +load 및 +initialize
l 프로그램이 시작될 때 모든 클래스와 분류를 불러오고 모든 클래스와 분류의 +load 방법을 호출합니다
l 먼저 부류를 불러오고 부류를 불러오기;즉 부류의 +load를 먼저 호출하고 부류의 +load를 호출한다
l 원본 클래스를 불러오고 분류를 불러옵니다
l 프로그램 실행 과정에 이 클래스가 사용되었든 안 사용되었든 간에 +load를 호출하여 불러옵니다
l 어떤 종류를 처음 사용할 때 (예를 들어 창설 대상 등) + initialize 방법을 한 번 호출합니다
l 한 클래스는 +initialize 방법을 한 번만 호출할 수 있습니다. 먼저 부류를 호출한 다음에 부류를 호출합니다.
3. 클래스 대상을 얻는 2가지 방법
Class c = [Person class]; //
혹은
Person *p = [Person new];
Class c2 = [p class]; //
4. 클래스 대상 클래스 호출 방법
Class c = [Person class];
Person *p2 = [c new];
8. description 방법
1. -description 방법
NSLog 및%@ 을 사용하여 객체를 내보낼 때 객체의 -description 메서드를 호출하고 값을 반환하여 내보냅니다.
2. + description 방법
NSLog 및%@ 을 사용하여 클래스 객체를 출력할 때 클래스 객체 + description 메서드를 호출하고 반환 값을 가져와 출력합니다.
3. NSLog의 기본 출력 수정
l 다시 쓰기-description 또는 +description 방법
4. 데드사이클 함정
l - description 메서드에서 NSLog를 사용하여 self 인쇄
9.SEL
1. 방법의 저장 위치
1. 방법의 저장 위치
2. SEL 객체 작성
SEL s = @selector(test);
SEL s2 = NSSelectorFromString(@"test");
3. SEL 객체의 기타 사용 방법
// SEL NSString
NSString *str = NSStringFromSelector(@selector(test));
Person *p = [Person new];
// p test
[p performSelector:@selector(test)];
10. NSLog 출력 향상
기본적으로 NSLog 및%@ 을 사용하여 객체를 내보낼 때 결과는 다음과 같습니다.
//
- (void)test {
[self performSelector:_cmd];
}
전재 대상:https://www.cnblogs.com/Jr-711/p/3898290.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.