iOS 블록 기반
block
의 중요성을 모두가 알고 있다고 믿는 것은 의심할 여지가 없다. 그 자체가 코드를 봉하여 이 코드를 변수로 삼아 block()
방식으로 리셋한다.Block의 이런 메커니즘은
과 매우 비슷하다.나의 이해는 바로 Block은
의
에 해당한다는 것이다.정의
반환 유형(^block 유형 이름)(block 참조):
void (^myBlock)() = ^(){
NSLog(@"--- block---");
};
int (^sumBlock)(int, int) = ^(int a, int b) {
return a + b;
};
:
int a = 10;
:
void (^ block)();
block = ^{
NSLog(@"--- block---");
};
:
int sum(int a, int b)
{
return a + b;
}
2. Block 호출
int c = sumBlock(10,10);
3. Block 접근 외부 변수
int a = 10;
void (^ block)();
block = ^{
NSLog(@"a=%d",a);
};
int a = 10;
void (^ block)();
block = ^{
a = 20;
};
//
__block
키워드를 더하면 이 국부 변수는 Block 내부에서 수정할 수 있다 __block int a = 10;
void (^ block)();
block = ^{
a = 20;
};
4. typedef를 이용하여 Block 유형 정의
typedef int (^myBlock)(int, int);
myBlock block = ^(int a, int b) {
return a + b;
};
띄어쓰기:
typedef int (^myBlock)(int, int);
myBlock block;
block = ^(int a, int b) {
return a + b;
};
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.