2012-03-18 3 views
1

릴리스 코드에이 문자열을 사용할 수 있습니까?NSAssert and release

NSAssert([entity buildEntity], @"Building failed at entity with id: %d", entity.entityId); 

[entity buildEntity]는 BOOL을 반환하므로 호출해야합니다.

그래서 질문입니다 : 릴리스에서 어설 션을 해제하면 (Xcode 4의 기본 동작) 어설 션 내 코드 블록이 실행될 것인가?

답변

1

아니요, buildEntity은 릴리스 모드에서 실행되지 않습니다.
아래 코드를 사용하면 디버그 모드와 릴리스 모드에서 동일하게 작동합니다.

id lValue = [entity buildEntity]; 
NSAssert(lValue, @"Building failed at entity with id: %d", entity.entityId);