1

カレンダーにアクティビティを表示する iPad アプリを開発しています。このアクティビティに関連する 2 つの MBO があります。クエリ + 結合で結果セットを取得できます。しかし、テスト基準文を使用して「where」クエリを取得できません。testcriteria 行を追加するまで、クエリは問題ありません。これはコードです:

SUPQuery *oneActivitiesQuery = [SUPQuery getInstance];
[oneActivitiesQuery select:@"c.DATE_FROM, d.DESCRIPTION"];
[oneActivitiesQuery from:@"GetCalendar" :@"c"];
[oneActivitiesQuery join:@"GetActivityDetail" :@"d" :@"d.GUID" :@"c.GUID"];
oneActivitiesQuery.testCriteria = [SUPAttributeTest match:@"c.DATE_FROM" :d];
SUPQueryResultSet* calendarResultSet = [MBOCRM_MOBILE_MBOCRM_MOBILEDB executeQuery:oneActivitiesQuery ];


if (calendarResultSet  == nil) {
    MBOLog(@"executeQuery failed");
    return;
}


for (SUPDataValueList* result in calendarResultSet ){

    MBOLog(@"Date --> %@", [[SUPDataValue getNullableDate:[result item:0]] description]);  
    MBOLog(@"Description --> %@", [SUPDataValue getNullableString:[result item:1]]);

}

5 行目の「d」は NSDate 変数です。

そして、これはエラーメッセージです:

Terminating app due to uncaught exception 'SUPPersistenceException', reason: 'unexpected null value for '"b"'
4

1 に答える 1

0
SUPDateValue *thedatevalue = [SUPDateValue newInstance];
[thedatevalue setValue:d];
oneActivitiesQuery.testCriteria = [SUPAttributeTest match:@"c.DATE_FROM" : thedatevalue];

SUP は一部の NSObject を認識していません。SUP オブジェクトに変換またはラップする必要があります。これを試して :)

于 2015-04-28T06:08:32.530 に答える