我有NSSArray
具有自定义对象,要排序使用自定义逻辑的自定义对象NSArray的对象与定制逻辑排序的
具有自定义物体的两个属性:
@property (nonatomic, strong) NSString *objectName;
@property (nonatomic, assign) BOOL isValidName;
如果isValidName属性是假然后,自定义对象应该是最后一个排序顺序。对于isValidName属性为true的对象,则应该按照属性objectName进行升序排序。
我可以通过查找具有属性isValidName false的对象,然后从数组中删除对象,然后对数组进行排序,然后可以添加具有属性isValidName false的对象。我不想这样做。
我想要的东西像下面的选项,但它不工作。请有关
[arr enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL * _Nonnull stop) {
NSArray *sortedTopics = [obj sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2){
if (obj1.isValidName) {
return NSOrderedAscending;
}
return [obj1.objectName compare: obj2.objectName options:NSCaseInsensitiveSearch];
}];
obj = sortedTopics;
}];