다음 코드 :에iPhone 5에서이 코드가 왜 충돌하나요?
func getCurrentMillis() -> Int64 {
return Int64(Date().timeIntervalSince1970 * 1000)
}
충돌 [32 비트] 메시지와 함께 아이폰 5 :
EXC_BREAKPOINT (code=EXC_ARM_BREAKPOINT, subcode=0xe7ffdefe)
나는 이유를 이해하지 않는이 계산의 결과가 Int64
에 맞게, 또는 생각 해봐야 할 것 같습니다 나는 무엇인가 놓친다?
스택 트레이스이 (TextProcessor.textDidChange()
전화를 getCurrentMillis()
)을 보여줍니다
당 OOPer의 요청, 나는 TextProcessor 관련 코드를 추가합니다이
var timeOfLastInput: Int64 = 0
...
if getCurrentMillis() - timeOfLastInput > 150 {
textMap.cursorPosition = nil
}
업데이트 : 나 '를 버그 보고서를 Apple에 보냈습니다.
32 비트 디바이스에서'Int64'를 사용할 수 있다면'TextProcessor.textDidChange()'의 코드를 보여 주면 어떨까요? 나는 당신의'getCurrentMillis()'가 32 비트 디바이스에서 잘 작동한다는 것을 확신 할 수있다. 문제는 발신자쪽에 있습니다. – OOPer
'Int64' *는 32 비트 시스템에서 사용할 수 있습니다. 문제는 다른 곳에서 발생해야합니다. –
크래시가 getCurrentMillis 함수에 있는지 확인 하시겠습니까? 나는 스택 백 트레이스에서 그것을 볼 수 없다. –