2012-10-16 35 views
12

Tôi chỉ mới bắt đầu sử dụng MagicalRecord, và điều này có thể là một câu hỏi ngu ngốc, nhưng nó thực sự làm phiền tôi ... Tôi đang sử dụng MagicalRecord với SQLite, và khi tôi bắt đầu MagicalRecord, tôi sử dụngDisable MagicalRecord thông báo lỗi và cảnh báo

[MagicalRecord setupCoreDataStackWithStoreNamed:@"OrderSystem.sqlite"]; 

và nó được sản xuất thông báo sau:

2012-10-16 16: 54: 48,966 OrderSystem [4135: C07] + NSManagedObjectContext (MagicalRecord) MR_contextWithStoreCoordinator: -> tạo: Bối cảnh * THREAD CHỦ *

Khi tôi đã cố gắng để lưu trữ thực thể của tôi với đoạn mã sau sử dụng một sợi nền:

[MagicalRecord saveInBackgroundWithBlock:^(NSManagedObjectContext *localContext){   
    Menu *localMenu = [menu inContext:localContext];   
    localMenu.name = menu.name; 
    localMenu.menuid = menu.menuid ;   
}]; 

Và tôi nhận được thông báo lỗi sau:

2012-10-16 17: 05: 20.118 OrderSystem [4523: 4603] + MagicalRecord (ErrorHandling) defaultErrorHandler: Thông báo lỗi: Thao tác không thể hoàn tất. (Cocoa lỗi 133000.)

2012-10-16 17: 05: 20,118 OrderSystem [4523: 4603] + MagicalRecord (ErrorHandling) defaultErrorHandler: Lỗi miền: NSCocoaErrorDomain

2012-10-16 17:05: 20,119 OrderSystem [4523: 4603] + MagicalRecord (ErrorHandling) defaultErrorHandler: phục hồi Góp ý: (null)

2012-10-16 17: 05: 20,119 OrderSystem [4523: 4603] -NSManagedObjectContext (MagicalSaves) MR_saveWithErrorCallback: KHÔNG THAY ĐỔI NHỮNG NỘI CONTEXT: Ngữ cảnh - KHÔNG TIẾT KIỆM

2012-10-16 17: 05: 20.120 OrderSystem [4523: c07] -NSManagedObjectContext (Magical Tiết kiệm) MR_saveWithErrorCallback: -> Tiết kiệm: * DEFAULT Context CHỦ THREAD *

2012-10-16 17: 05: 20,121 OrderSystem [4523: C07] -NSManagedObjectContext (MagicalRecord) contextWillSave: Bối cảnh: * DEFAULT Bối cảnh THREAD CHÍNH * sắp lưu. Lấy ID vĩnh viễn cho mới 1 đối tượng chèn

2012-10-16 17: 05: 20,142 OrderSystem [4523: 1303] -NSManagedObjectContext (MagicalSaves) MR_saveWithErrorCallback: -> Tiết kiệm: * BỐI CẢNH TIẾT KIỆM * Context

2012-10-16 17: 05: 20.142 OrderSystem [4523: 1303] -NSManagedObjectContext (MagicalRecord) contextWillSave: Bối cảnh: * BỐI CẢNH SAVE * Bối cảnh sắp lưu. Lấy ID cố định cho 1 đối tượng được chèn mới

Khi tôi kiểm tra thực thể dữ liệu đã lưu bằng cách sử dụng findAll, nó dường như được lưu trữ trong cơ sở dữ liệu. Và nếu tôi đóng ứng dụng hoàn toàn, và khởi chạy lại ứng dụng, thực thể vẫn còn đó (cho thấy thực thể đã được lưu trữ liên tục, và không chỉ trong bộ nhớ). Vì vậy, có vẻ như tất cả mọi thứ đang làm việc, nhưng bất kỳ ý tưởng những thông báo lỗi là gì? và có cách nào để tắt chúng không? hoặc giải quyết chúng? bởi vì nó chặn NSLog khác của tôi ...

Cảm ơn bạn

+2

Nếu bạn đang sử dụng Cocoapods, đây là những gì bạn cần: http://stackoverflow.com/questions/15284067/cocoapods-turning-magicalrecord-logging -off/15284069 –

Trả lời

31

tìm thấy nó. thêm #define MR_ENABLE_ACTIVE_RECORD_LOGGING 0 trong hồ sơ của bạn trước khi Prefix.pch #import "CoreData+MagicalRecord.h"

+1

Chúng tôi đã thay đổi cách ghi nhật ký hoạt động trong bản phát hành MagicalRecord 2.3 sắp tới - bạn sẽ có thể gọi '[MagicalRecord setLogLevel: MagicalRecordLogLevelOff];' (hoặc một số cấp độ khác) để vô hiệu hóa các thông báo ghi nhật ký này khi nó được phát hành. Đối với bản phát hành trước 2.3, những gì @ hook38 đã đề xuất là đúng cách để tắt ghi nhật ký. –

+0

@Tony Arnold. Git cho biết mã MR hiện tại của tôi đã được cập nhật kể từ ngày 5 tháng 5 năm 14 với "xuất xứ/phát triển". MR_ENABLE_ACTIVE_RECORD_LOGGING không còn hiệu lực nhưng không tìm thấy '[MagicalRecord setLogLevel:]'. Tôi đã tìm thấy một 'setLoggingMask:' trong MagicalRecord + Options.m. Tôi có thể làm gì để tắt đầu ra ghi lưu thông thường của MR hoặc bật lại khi cần thiết? – chadbag

+0

@chadbag xin lỗi, tôi phải thay đổi phương thức - dưới đây là các tài liệu: https://github.com/magicalpanda/MagicalRecord/wiki/Logging –

2

Có vẻ như bạn vẫn gặp lỗi cần sửa. Tôi đề nghị không phớt lờ những người trong quá trình phát triển ...

+0

sau khi tôi tắt ghi nhật ký, không có thêm thông báo lỗi nào. – hook38

+25

một khi tôi dừng lại đi đến nha sĩ, không có sâu răng. – christophercotton

20

Trong trường hợp bạn sử dụng vỏ thêm tiền xử lý vĩ mô MR_ENABLE_ACTIVE_RECORD_LOGGING = 0 cho dự án kỷ lục huyền diệu như thế này: enter image description here

+1

Thật không may, khi tôi chạy 'pod update' macro bị xóa – boro

+1

Móc' post_install' sẽ giúp: http://stackoverflow.com/a/15284069/242682 – samwize

+0

Bạn đã lưu lại ngày của mình! – kokemomuke

6

nhanh chóng

MagicalRecord.setLoggingLevel(MagicalRecordLoggingLevel.Off) 

objC

[MagicalRecord setLoggingLevel:MagicalRecordLogLevelOff]; 

đặt nó trong appdelegate của bạn khi ứng dụng didFinishLaunchingWithOptions

+1

Bây giờ có vẻ như [MagicalRecord setLoggingLevel: MagicalRecordLoggingLevelOff]; – PaulRBerg

Các vấn đề liên quan