NULL
또는 nil
을 완료 블록 animateWithDuration:animations:completion:
에 전달하면 iOS에서 나에게 소리를 지르지 않지만 괜찮습니까? 또는 빈 ^{ }
을 여는 것이 더 낫습니까?블록 매개 변수에 NULL을 전달할 수 있습니까?
답변
nil
을 전달하는 코드가 해당 코드를 블록으로 호출하지 않을 것이라는 점을 믿어도 괜찮습니다.
빠른 데모 : 내부 코드는 첫 번째 블록 확인해야합니다
typedef void (^GenericBlock)(void);
void useThisBlock(GenericBlock block){
block();
}
useThisBlock(^{NSLog(@"All okay.");});
useThisBlock(nil); // Compiles but crashes
: UIKit 코드의 경우 if(block) block();
, 당신은 괜찮을 것이다.
nil
을 전달하면 문제가 없으며 제 의견으로는 더 깨끗한 코드가됩니다.
완료 블록을 사용하지 않으려는 경우이 경우 [UIView animateWithDuration:animations:]
메서드를 사용할 수도 있습니다.
감사합니다. 애니메이션 블록이없는 메소드가 있다는 것을 알고 있습니다. 제 질문은 블록 그 자체에 관한 것입니다. 왜'NULL '이 아닌'nil'이 아닌가? – pixelfreak
'nil'과'NULL'은 동일합니다. 관습 적으로 Objective-C는 일반적으로 ARC에서 정확하지 않은'NULL '이 C. – sho
에 사용되는 경우'nil'을 사용합니다. 'nil'은 객체를 의미하며'id'가 예상되는 곳에서 사용되어야하며'NULL'은 객체가 아닌 유효하지 않은 포인터를 의미하며'(void *)'가 예상되는 곳에 사용해야합니다. 자세한 내용은 [this] (http://stackoverflow.com/questions/557582/null-vs-nil-in-objective-c) 질문을보십시오. –
- 1. DBNull을 정수형 변수에 전달할 수 있습니까?
- 2. 함수 매개 변수에 상수 값을 전달할 수 있습니까?
- 3. PHP에서 함수의 매개 변수에 값을 전달할 수 있습니까?
- 4. glMultiDrawElements : "인덱스"매개 변수에 전달할 값 (GLvoid **)
- 5. SSRS URL 액세스 매개 변수에 NULL을 전달 하시겠습니까?
- 6. F # 모듈에 매개 변수를 전달할 수 있습니까?
- 7. URL 단축키가 매개 변수를 전달할 수 있습니까?
- 8. 생성자 매개 변수를 XML로 전달할 수 있습니까?
- 9. 포인터를 함수 매개 변수로 전달할 수 있습니까?
- 10. 매개 변수로 percentDiscount를 전달할 수 있습니까?
- 11. SQLCommand를 매개 변수로 전달할 수 있습니까?
- 12. 대리인이 매개 변수를 전달할 수 있습니까?
- 13. 매개 변수를 스킨에 전달할 수 있습니까?
- 14. 함수를 매개 변수로 전달할 수 있습니까?
- 15. 함수를 매개 변수로 전달할 수 있습니까?
- 16. Powershell에서 null을 문자열을 예상하는 .Net API로 전달할 수 있습니까?
- 17. 블록 매개 변수 수 얻기
- 18. int 매개 변수에 대해 API가 NULL을 반환해야합니까? + 처리 방법
- 19. C++ 컴파일러는 const 참조 POD 매개 변수에 의한 패스를 복사본으로 전달할 수 있습니까?
- 20. 보고 서비스 보고서 매개 변수에 SharePoint 보안 컨텍스트 값을 전달할 수 있습니까?
- 21. 왜 유형 X의 var을 해당 유형의 열린 배열 매개 변수에 전달할 수 있습니까?
- 22. sp_db_sendmail 프로 시저의 @query 매개 변수에 저장 프로 시저를 전달할 수 있습니까?
- 23. 매개 변수를 내 fsyacc 파서에 전달할 수 있습니까?
- 24. nullable int 매개 변수에 대해 null을 허용하지 않는 WCF 메서드
- 25. log4net db에 오류를 저장하고 매개 변수에 null을 얻음
- 26. Where = Null을 사용하여 Where is Null을 대체 할 수 있습니까?
- 27. 매개 변수가있는 루비 블록
- 28. 어떻게 매개 변수를 LIMIT에 전달할 수 있습니까? 모든 쿼리 출력을 하나의 문자열로 저장할 수 있습니까?
- 29. 참고로 전달할 수 없습니까?
- 30. xmldp 쿼리에서 매개 변수를 전달할 수 없습니다.
"* UIKit 코드의 경우 괜찮을 것입니다. *"인용이 필요합니까? – Manav
@Manav : 당신이 잘못한 것은 아닙니다. - 확인할 방법이 없습니다 (충돌하지 않는 것을 제외하고). –