按字符串对核心数据实体进行排序 (Swift3)
Sort Core data entity by String (Swift3)
这是我的代码:
let fetche:NSFetchRequest<Location> Location.fetchRequest()
let sort = NSSortDescriptor(key:#keyPath(Location.locationName), ascending: true)
fetche.sortDescriptors = [sort]
let predicate1 = NSPredicate(format: "countryId CONTAINS %@ ",results.countryId!)
fetche.predicate = NSCompoundPredicate(andPredicateWithSubpredicates: [predicate1])
我需要按位置名称中的字符串 "Cho" 对数据进行排序。
如果我对您的评论理解正确,您的位置名称包含命名国家/地区的字符串("USA"、"KSA"、"Palestine" 等),还有一个 [=28] =],并且您想知道如何将 "Choose country..." 排序到列表的顶部。
理想情况下,您的数据模型只包含数据。由于 "Choose country" 不是位置名称,因此不应包含在国家/地区列表中。如果您想在国家列表上方显示此文本,两个更好的选择是:
- 不要在选择器中包含该文本。相反,将其放在
UILabel
. 中选择器的上方或旁边
- 如果您想在选择器中包含该文本,请编写选择器委托,使其 returns "Choose country" 用于第一个条目,然后将您的国家/地区列表用于所有其他行。
有一些方法可以按照您的建议对列表进行排序,但是没有好的 方法。
这是我的代码:
let fetche:NSFetchRequest<Location> Location.fetchRequest()
let sort = NSSortDescriptor(key:#keyPath(Location.locationName), ascending: true)
fetche.sortDescriptors = [sort]
let predicate1 = NSPredicate(format: "countryId CONTAINS %@ ",results.countryId!)
fetche.predicate = NSCompoundPredicate(andPredicateWithSubpredicates: [predicate1])
我需要按位置名称中的字符串 "Cho" 对数据进行排序。
如果我对您的评论理解正确,您的位置名称包含命名国家/地区的字符串("USA"、"KSA"、"Palestine" 等),还有一个 [=28] =],并且您想知道如何将 "Choose country..." 排序到列表的顶部。
理想情况下,您的数据模型只包含数据。由于 "Choose country" 不是位置名称,因此不应包含在国家/地区列表中。如果您想在国家列表上方显示此文本,两个更好的选择是:
- 不要在选择器中包含该文本。相反,将其放在
UILabel
. 中选择器的上方或旁边
- 如果您想在选择器中包含该文本,请编写选择器委托,使其 returns "Choose country" 用于第一个条目,然后将您的国家/地区列表用于所有其他行。
有一些方法可以按照您的建议对列表进行排序,但是没有好的 方法。