2012-06-09 13 views
5

Tìm kiếm trên tiêu đề của bài đăng này cho thấy rằng nó khá phổ biến; thực sự, tôi đã nhận được lỗi này từ Xcode. Nhưng tôi không thể tìm thấy bất kỳ bản sửa lỗi nào. Tôi thấy nó bây giờ khi tôi chạy chương trình của tôi, và nó xuất hiện xảy ra trong hoặc sau khi changeCountTokenForSaveOperation được gọi. Nó có vẻ liên quan đến người quản lý hoàn tác, thay vì thực tế là tôi đang sử dụng dữ liệu cốt lõi, nhưng tôi có thể sai.NSDocument: Không thể tự động lưu tài liệu. Tệp đã bị thay đổi bởi một ứng dụng khác

Có ai biết nguyên nhân gây ra lỗi này hoặc cách khắc phục sự cố không?

Trả lời

-2

Tôi nghĩ rằng nó đã làm với thực tế là bạn có thể điều hướng đến các tập tin khác bằng cách bấm vào một tên phương pháp táo. Nếu bạn thực hiện thay đổi trong một tệp và sau đó điều hướng đến một tệp khác, nó sẽ thoát khỏi cửa sổ trước đó. Bạn có thể nhấp vào hình tam giác "quay lại" để tiếp cận lại hình ảnh đó (chỉ ở trên góc trên bên trái của cửa sổ tệp). Tuy nhiên, nếu nó có những thay đổi chưa được lưu trong cửa sổ bị che khuất và bạn chỉnh sửa lại cùng một tệp trong một tab hoặc cửa sổ khác, XCode sẽ hỏi bạn cái nào cần giữ lại với thông báo bên trên.

Khi điều đó xảy ra, tôi sao chép tệp trên đĩa sang tên mới và sau đó chọn "Lưu bất kỳ cách nào" và so sánh hai tệp. Thật không may, đôi khi có những thay đổi quan trọng trong mỗi tệp và tôi phải hợp nhất chúng bằng tay.

Tôi rất thất vọng vì điều này tôi có thể khóc.

1

Lỗi này có thể xảy ra với NSPersistentDocument khi bạn thực hiện lưu thủ công mã trên managedObjectContext của lớp NSPersistentDocument của bạn. Vấn đề ở đây là bạn đang sửa đổi tài liệu trên đĩa phía sau lưng của NSPersistentDocument. Chỉ cần lưu các hành động lưu vào NSPersistentDocument và lỗi sẽ không xảy ra.

+0

Nhưng nó sẽ không tự động lưu lại. –

+0

@DaniSpringer Bạn đã thực hiện 'autosavesInPlace()' với 'return true' trong lớp NSPersistentDocument của bạn chưa? – Ely

+0

chưa bao giờ nghe nói về điều đó. Bất kỳ liên kết nào để tạo một liên kết? –