Tôi vừa mới cài đặt XCode6 Beta-7 và bây giờ nhìn thấy một ngoại lệ truy cập vào một trong các phương pháp PrepareForSegue của tôi - (gọi khi một phương thức Segue là về để thư giãn)xcode6 beta7 prepareForSegue ném EXC_BAD_ACCESS
Mã trong câu hỏi trông như thế này:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if (segue.identifier == "MY_IDENTIFIER") { //EXC_BAD_ACCESS (code=1, address=0x0)
//Never gets here...
}
}
tôi đã cố gắng làm cho các tham số segue một tùy chọn nhưng như xa như Swift là có liên quan, segue
không phải là con số không, vì vậy ngay cả với một tấm séc như dưới đây, tôi có sự thất bại tương tự .. .
override func prepareForSegue(segue: UIStoryboardSegue?, sender: AnyObject!) {
if (segue != nil)
if (segue!.identifier == "MY_IDENTIFIER") { //EXC_BAD_ACCESS (code=1, address=0x0)
//Never gets here...
}
}
}
Tất cả các phân đoạn khác trong ứng dụng dường như hoạt động tốt, nhưng điều này là không - và dường như chỉ xảy ra trong trường hợp thư giãn được phát hành. Bất cứ ai khác gặp phải điều này?
EDIT/Cách giải quyết
Một cách giải quyết đơn giản là để tránh sử dụng các phương pháp unwindSegue và chỉ cần gọi dismissViewControllerAnimated
, nhưng tôi vẫn rất muốn biết lý do tại sao phương pháp unwindSegue là không trong trường hợp này ...
Rất cám ơn!
Chỉ cần suy nghĩ: Bạn có làm sạch thư mục xây dựng của mình sau khi nâng cấp lên Beta 7 không? – zisoft
Mmm .. không may mắn với sạch sẽ. (nhắc nhở tốt mặc dù - mà bắt gặp tôi với một vài trong số các betas trong quá khứ cũng :)) – Nash
Tôi đã có một vấn đề tương tự với một segue. Hãy thử điều này: cho mỗi segue trong Interface Builder mà bạn đã có * không * có một định danh, gõ một cái gì đó trong, loại bỏ nó, sau đó nhấn trở lại. Sau đó, xây dựng lại và thử lại. Tôi đã có một segue không có định danh mà tôi muốn thêm vào trong một phiên bản beta trước đó, và nó đã được rằng đã gây ra vấn đề. Bằng cách buộc nó phải được thiết lập lại để không nhận dạng * một lần nữa * trong Xcode mới nhất, tôi đoán tôi đã thay đổi một cái gì đó trong xib cần thiết để khớp chính xác với một số mã thời gian chạy trong bản beta mới nhất. –