0
I 현재 작동하고 다음을 가지고 :명명 된 중첩 블록 매개 변수는 어떻게 선언합니까?
typedef BOOL(^InnerBlockType)(int arg1, int arg2);
- (BOOL)doStuff:(void(^)(InnerBlockType innerBlock))block;
하지만 인수가 쉽게 사용할 수 있도록, 자동 완성 후에 볼 수 있도록 형식 정의를 제거하고 블록 인라인을하고 싶습니다. 그래도 구문을 올바르게 가져올 수 없습니다. 나는 그곳에 99 %를 얻을 수 있지만 그 블록에 이름을 부여하는 것을 포함하지는 않습니다. 식별자를 삽입하면 Xcode에서 )
이 필요하다고 알려줍니다.
// Compiles, but is missing the inner block's name
- (BOOL)doStuff:(void(^)(BOOL(^)(int arg1, int arg2)))block;
// This is what I'd like
- (BOOL)doStuff:(void(^)(BOOL(^)(int arg1, int arg2))innerBlock)block;
// But I get a compiler error here: ^ Expected ')'
나는에 다른 모든 다른 괄호 조합 밖으로 innerBlock
식별자를 이동하려고했습니다,하지만 난 같은 오류가 발생합니다. 컴파일러를 만족시키는 innerBlock
식별자를 어디에 삽입 할 수 있습니까?
우리는 동시에 답변을 입력했습니다! 추가 파고가 당신이 제공 한 두 번째 것이 나타났습니다. 나는 지금 내 것을 삭제했다. 감사! – Dov
@Dov - 문제 없음 :) – Logan
동의, 자동 완성은 펑키입니다. 나는 그것을 애플에보고했다. – Dov