我有一个应用程序,我可以在其中搜索房间进行预订。
在我的第一个视图中,我可以选择一个城市和街道。在第二个视图中,我可以选择一些属性(如 wlan、tv...)
第三个视图是可供选择的房间。
当我不选择属性时,它应该向我显示可用于所选街道/城市的所有房间。
到目前为止,这是我的谓词:
NSPredicate *predicate =
[NSPredicate predicateWithFormat:
@"((raumattribute.schalter CONTAINS YES) AND\
(strasse.checks CONTAINS YES OR strasse.standort.ortcheck CONTAINS YES)) \
OR\
((raumattribute.schalter CONTAINS NO) AND\
(strasse.checks CONTAINS YES OR strasse.standort.ortcheck CONTAINS YES))"];
问题是,我不能再用属性过滤房间了。当我选择城市并进入房间时,我可以看到城市中的所有房间。但是,一旦我选择了一个属性,它就不会过滤房间,而是显示所选城市中的所有房间。
当我这样写我的谓词时:
NSPredicate *predicate =
[NSPredicate predicateWithFormat:
@"((raumattribute.schalter CONTAINS YES) AND\
(strasse.checks CONTAINS YES OR strasse.standort.ortcheck CONTAINS YES))
我可以用街道和属性过滤房间。.但是当没有选择属性时,我在所选街道上看不到任何房间。
这是我更新的架构的屏幕截图:屏幕截图