将NSSet转换为NSMutableArray

时间:2015-07-06 20:53:56

标签: ios swift uitableview core-data

目前我有一个名为Folder的NSManaged对象的子类,其属性名为item,类型为NSSet。

class Folder: NSManagedObject {

@NSManaged var title: String
@NSManaged var date: NSDate
@NSManaged var item: NSSet

func itemMutableArray() -> NSMutableArray {

    var mutableArray: NSMutableArray!

    mutableArray = [item.allObjects]

    return mutableArray

}

项目类:

class Item: NSManagedObject {

@NSManaged var title: String
@NSManaged var date: NSDate
@NSManaged var completed: Bool

有人对我目前出错的地方有任何建议吗?

这是我之前使用的函数,现在我想将NSSet转换为NSMutableArray。

func itemArray() -> [Item] {
    let sortDescriptor = NSSortDescriptor(key: "date", ascending: true)
    return item.sortedArrayUsingDescriptors([sortDescriptor]) as! [Item]
}

2 个答案:

答案 0 :(得分:2)

forEach

答案 1 :(得分:0)

使用Swift类型,它们更通用

这会将NSSet放入一个数组(var是可变的)并按属性date

升序排序
@NSManaged var title: String
@NSManaged var date: NSDate
@NSManaged var item: NSSet

var sortedItemArray : Array<Item> {
  var array = item.allObjects as! [Item]
  return sorted(array) {$0.date < $1.date }
}