2011-10-13 37 views
6
支持

我曾嘗試使用NSPredicate下面和我沒有得到結果我期望:是具有與NSPredicate一個NSFetchRequest在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); 

是NSPredicate支持MonoTouch的當前穩定版本(5.0 )還是我做錯了什麼?

+0

很難用一個片段來說明。您需要發佈自包含的測試用例 –

+0

感謝您的回覆。上面的代碼片段很好地工作,沒有行設置謂詞。只要我設置謂詞,我就不會從提取中獲得任何結果(當我期望從數據和正在設置的謂詞中獲取結果時)。我認爲謂詞不支持,或者我錯誤地創建了謂詞。是否有在MonoTouch中使用謂詞的示例? – cmour

+0

我有一個快速的樣子,沒有找到任何示例代碼,所以它可能是一個錯誤(它看起來並不常見)。您可以向我們提供一個小型自包含的測試用例(這裏或通過填寫關於http://bugzilla.xamarin.com的錯誤報告),以便我們找出問題的癥結所在? – poupou

回答

0

哇,你真的節省了編程線。 這是很難說與該片段,但... 我最好的建議是,那些線打入更多的線路,像

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

,繼續向前像一行行,以確保你得到正確的反饋。 這就是我所做的。可能有點幫助

+0

那麼,你是否說在MonoTouch中爲獲取請求設置謂詞? – cmour

相關問題