2011-10-13 12 views
6

Tôi đã thử những điều sau đây sử dụng một NSPredicate và không nhận được kết quả tôi mong chờ:Là có một NSFetchRequest với một NSPredicate hỗ trợ trong MonoTouch

NSFetchRequest request = new NSFetchRequest(); 
request.Entity = NSEntityDescription.EntityForName("Entity", managedObjectContext); 

NSSortDescriptor sort = new NSSortDescriptor ("date", false); 
request.SortDescriptors = new NSSortDescriptor[1] { sort }; 
request.Predicate = NSPredicate.FromFormat("stringProperty == %@", new NSObject[1]{new NSString("someString")}); 

error = null; 
NSObject[] results = managedObjectContext.ExecuteFetchRequest (request, out error); 

là NSPredicate được hỗ trợ trong phiên bản ổn định hiện tại của MonoTouch (5.0) hoặc tôi đang làm gì sai?

+0

Khó nói với một đoạn mã. Bạn cần phải đăng một trường hợp thử nghiệm khép kín –

+0

Cảm ơn bạn đã phản hồi. Đoạn mã ở trên hoạt động tuyệt vời mà không có dòng thiết lập vị từ. Ngay sau khi tôi đặt biến vị ngữ, tôi không nhận được bất kỳ kết quả nào từ tìm nạp (khi tôi mong đợi từ dữ liệu và vị từ đang được đặt). Tôi đã tìm thấy các vị từ chưa được hỗ trợ hoặc tôi đang tạo vị từ không chính xác. Có bất kỳ mẫu sử dụng một vị từ trong MonoTouch? – cmour

+0

Tôi đã có một cái nhìn nhanh chóng và không tìm thấy bất kỳ mã mẫu, do đó, nó có thể là một lỗi (nó không nhìn được rất thường được sử dụng). Bạn có thể cung cấp cho chúng tôi (ở đây hoặc bằng cách điền vào một báo cáo lỗi trên http://bugzilla.xamarin.com) một trường hợp thử nghiệm nhỏ, khép kín để chúng tôi có thể xác định vấn đề? – poupou

Trả lời

0

wow, Bạn đang thực sự lưu các dòng lập trình tại đây. Thật khó có thể nói với đoạn đó, nhưng ... gợi ý tốt nhất của tôi là để phá vỡ những dòng thành nhiều dòng, giống như

NSPredicate *myPredicate = ... 
if (myPredicate) { 
NSLog (@"Predicate exists"); 
} 

Và tiếp tục đi như thế từng dòng để chắc chắn rằng bạn đang nhận được phản hồi đúng. Đó là những gì tôi làm. Có thể giúp một chút

+0

Vì vậy, bạn đang nói rằng việc đặt một vị từ trên một yêu cầu tìm nạp có hoạt động cho bạn trong MonoTouch không? – cmour