2011-05-25 156 views
3

我想檢查一個字段是否包含數據。這是我的代碼:爲什麼nspredicate會崩潰?

[fetchRequest setPredicate:[NSPredicate predicateWithFormat: 
          @"(SeriesStudyID == %@)" ,"" ]]; 

但它崩潰。爲什麼?

+1

您正在傳遞一個C字符串,其中需要一個Objective-C對象。 – 2011-08-19 19:50:55

回答

4

@ iAnand的回答是錯誤的。在謂詞格式字符串中使用%@是完全可以接受的。

的問題是,%@意味着一個對象來代替,但要以"",這是對象,而是一個char*取代。因此,您只需在雙引號前添加一個@符號即可將其從char*轉換爲NSString