我尝试过使用自定义模式进行排序。但是它返回一个数组。这没用。 因为我需要返回类型为结果。
Ex:请考虑以下事项:
var encoding = Encoding.GetEncoding(response.CharacterSet, new EncoderExceptionFallback(), new DecoderExceptionFallback());
// This will throw if the file is wrongly encoded
encoding.GetCharCount(bytes);
byte[] preamble = encoding.GetPreamble();
bool hasPreamble = bytes.Take(preamble.Length).SequenceEqual(preamble);
if (hasPreamble)
{
File.WriteAllBytes("WithPreambleFile.txt", bytes);
using (var fs = File.OpenWrite("WithoutPreamble.txt"))
{
fs.Write(bytes, preamble.Length, bytes.Length - preamble.Length);
}
}
else
{
File.WriteAllBytes("WithoutPreambleFile.txt", bytes);
using (var fs = File.OpenWrite("WithPreamble.txt"))
{
fs.Write(preamble, 0, preamble.Length);
fs.Write(bytes, 0, bytes.Length);
}
}
现在我如何对上面的结果进行排序
我确实尝试了
class A:Object {
dynamic var name: String = "abc"
dynamic var isStrong: Bool = false
}
这会产生一个排序数组。但我需要一个realmResults对象。 任何形式的帮助都是精心准备的。 谢谢。 :)
答案 0 :(得分:2)
您可以使用bool
属性对Results
实例进行排序,但无法实现返回Results
的自定义排序函数。 Results
仅支持基于类的实例属性进行排序,或者如果将它们添加到SortDescriptor
,则基于多个实例属性。
即使您无法定义自定义排序逻辑,您的当前逻辑似乎只基于单个bool
属性实现降序排序,因此您可以使用内置sorted(byKeyPath:,ascending:)
内置的Realm来实现相同的结果方法
realm.objects(A.self).sorted(byKeyPath: "isStrong",ascending: false)