assert
Swift에서을 쓸 때 첫 번째 값이 다음과 같이 입력되었음을 알았습니다.
@autoclosure() -> Bool
를 T
통해 존재를 테스트하기 위해 일반 값 을 반환하는 오버로드 된 메소드 를 사용합니다 LogicValue
protocol
.
그러나 당면한 문제를 엄격히 고수하십시오. @autoclosure
를 반환하는 것으로 보입니다 Bool
.
매개 변수를 사용하지 않고 Bool을 반환하는 실제 클로저를 작성하면 작동하지 않습니다. 클로저를 호출하여 컴파일되도록하십시오.
assert({() -> Bool in return false}(), "No user has been set", file: __FILE__, line: __LINE__)
그러나 단순히 Bool을 전달하면 작동합니다.
assert(false, "No user has been set", file: __FILE__, line: __LINE__)
무슨 일이야? 무엇입니까 @autoclosure
?
편집 : @auto_closure
이름이 변경되었습니다@autoclosure
f({2 >1}())