假设我们有一个名为imageFile的自定义类,该类包含两个属性.
class imageFile {
var fileName = String()
var fileID = Int()
}
Run Code Online (Sandbox Code Playgroud)
很多都存储在Array中
var images : Array = []
var aImage = imageFile()
aImage.fileName = "image1.png"
aImage.fileID = 101
images.append(aImage)
aImage = imageFile()
aImage.fileName = "image1.png"
aImage.fileID = 202
images.append(aImage)
Run Code Online (Sandbox Code Playgroud)
问题是:如何通过'fileID'ASC或DESC对图像数组进行排序?
我要做的是使用字符串在类中设置属性的值.例如,我的类具有以下属性:
myClass.Name
myClass.Address
myClass.PhoneNumber
myClass.FaxNumber
Run Code Online (Sandbox Code Playgroud)
所有字段都是字符串类型,所以我提前知道它总是一个字符串.现在我希望能够使用字符串设置属性,就像使用DataSet对象一样.像这样的东西:
myClass["Name"] = "John"
myClass["Address"] = "1112 River St., Boulder, CO"
Run Code Online (Sandbox Code Playgroud)
理想情况下,我只想分配一个变量,然后使用变量中的字符串名称设置属性
string propName = "Name"
myClass[propName] = "John"
Run Code Online (Sandbox Code Playgroud)
我正在阅读关于反思的内容,也许是这样做的方法,但我不确定如何设置它,同时在课堂上保持属性访问不变.我想仍然可以使用
myClass.Name = "John"
Run Code Online (Sandbox Code Playgroud)
任何代码示例都非常棒.
尝试按降序对Swift中的数组进行排序.这很好用
objectArray.sort{ $0.date!.compare($1.date!) == .orderedDescending}
Run Code Online (Sandbox Code Playgroud)
如你所见,我强行解开约会.我正在寻找另一种方式,以便如果日期是nil
,对象移动到数组的末尾.
我有一个类型的字典[Int : String]
,我想按键排序,然后将其转换为数组。例如:
let dict : [Int : String] = [18 : "Maya", 13 : "Ori", 49 : "Mom", 21 : "Lital", 51 : "Dad"]
// After convertion:
// ["Ori", "Maya", "Lital", "Mom", "Dad"]
Run Code Online (Sandbox Code Playgroud)
我怎么做?我只知道如何dict
通过执行转换为数组Array(dict.values)
,但它并没有以正确的顺序进行转换。
谢谢
sorting ×3
swift ×3
arrays ×2
c# ×1
date ×1
dictionary ×1
optional ×1
properties ×1
reflection ×1