iOS Block 이 오 해 를 풀 고 있 습 니 다.

2525 단어 iosblock대상 유형
일단 블 락 이 뭔 지 알 아 보 겠 습 니 다.
       (1)Block 은 OC 의 데이터 형식 으로 iOS 개발 에 널리 사용 된다.
       (2)^Block 특유 의 표식
       (3)Block 의 구현 코드 는{}사이 에 포함 되 어 있 습 니 다.
       (4)대부분의 경우 inline 함 수 를 내 연 하 는 방식 으로 정의 되 고 사용 된다.
       (5)Block 은 C 언어의 함수 포인터 와 비슷 하지만 사용 하기에 더욱 유연 하 다.

이 그림 은 제 가 2015 년 에 발 견 된 신대륙 입 니 다.그때 도 block 이 특수 한 데이터 형식 이 고 특수 한 대상 이라는 것 을 알 았 습 니 다(NSObject 와 다 릅 니 다).실행 할 때 반드시 if 로 판단 해 야 한다.나 는 Block 변수 에 nil 을 할당 하 였 는데,모두 crach 였 다.아래 값 을 보 세 요.닐 이 아니 라 NULL 입 니 다.
1.특별한 대상 유형
아래 코드 의 정확성 은 block 도 대상 유형 임 을 설명 합 니 다.

{
 //       block  
 NSArray* arr = @[^(NSString* name){
  NSLog(@"    ");
  return name;
 }];
 //        , block           
 NSString* (^b)() = arr.firstObject;
 NSLog(@"%@", b(@"CoderHG"));
}
상기 코드 의 합 법성 은 Block 이 특수 한 대상 유형 임 을 증명 할 수 있 습 니 다.그러면 앞으로 면접 을 볼 때 강요 하 는 척 하면 서 OC 에서 세 가지 서로 다른 대상 유형 이 있 는데 그것 이 바로 NSObject,NSProxy 와 Block 이다.
2.판 공의 중요성
위 에서 도 block 을 실행 하기 전에 공 처 리 를 해 야 한 다 는 것 은 이유 가 있다.

한 nil 대상 의 block 속성 이 실 행 될 때 도 crach 입 니 다.이것 은 내 가 지금까지 block 에 대한 이 해 를 전복 시 켰 다.
하지만,어쨌든 crach 는 실행 하기 전에 if 한 번 만 틀 리 지 않 습 니 다.그럼 구체 적 으로 왜 crash 일 까요?다음 그림 을 보십시오.

위의 그림 은 왜 반 짝 이 는 지 뿐만 아니 라 왜 반 짝 이 는 address=0x 10 도 소개 했다.면접 필수,면접 필수,면접 필수.
3.나의 면접 경과(17 년 12 월)
미 단 면접 2 차 때 질문 을 받 았 습 니 다.2 차 는 한 시간 정도 걸 립 니 다.면접 관 이 면접 을 마 치 려 고 할 때 마지막 에 이런 질문 이 왔 습 니 다.대충 경 과 는 이 렇 습 니 다.
1.할당 값 이 비어 있 는 block 을 호출 하면 어떤 상황 이 발생 합 니까?
이 문 제 를 보고 나 는 매우 기 뻤 다.내 가 대답 한 점 은 바로 crash,block 은 특수 한 대상 이 고 할당 값 은 NULL 과 nil 이 모두 반 짝 거 린 다 는 것 이다.
나 는 다음 문제 때문에 즐거움 과 슬픔 이라는 성 어 를 잊 어 버 렸 다.
2.반 짝 이 는 그 주소 값(address)은 얼마 입 니까?
얼굴 이 가 려 져 있 는데 어떻게 이 문 제 를 물 어 볼 수 있 습 니까?.............................................맞 히 는 수 밖 에 없어 요.평소에 관심 이 없 으 니까 요.0x0 인 것 같 습 니 다.직접 알려 준 면접 관 은 맞 혔 습 니 다.그 가 직접 나 에 게 이 가치 가 아니 라 고 말 한 후에 그 는 다시 다른 문 제 를 던 질 줄 은 생각 하지 못 했다.
3.이 값 은 0x 10 인 데 왜 그런 지 아 세 요?
나 는 두 번 째 질문 도 모 르 고 세 번 째 질문 은 모 를 거 야...
나중에 야 위의 그 그림 의 내용 을 총 결 해 냈 다.
고마워~
총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.

좋은 웹페이지 즐겨찾기