ios - 加入自定义对象数组

标签 ios arrays swift

我创建了一个包含 ID、名称和短名称的自定义对象。我只想检索 ID 并执行 ",".join()这样它将是一个字符串,例如 "1, 2"

那么我怎样才能转换像 var recentArray = Array<News>() 这样的数组呢?到只有 ID 以逗号分隔的字符串?

自定义类

class Team: NSObject{
    var id: Int!
    var name: NSString!
    var shortname: NSString!


    init(id: Int, name:NSString, shortname: NSString) {
        self.id = id
        self.name = name
        self.shortname = shortname
    }


    required convenience init(coder aDecoder: NSCoder) {
        let id = aDecoder.decodeIntegerForKey("id")
        let name = aDecoder.decodeObjectForKey("name") as! String
        let shortname = aDecoder.decodeObjectForKey("shortname") as! String
        self.init(id: id, name: name, shortname: shortname)
    }

    func encodeWithCoder(aCoder: NSCoder) {
        aCoder.encodeInteger(id, forKey: "id")
        aCoder.encodeObject(name, forKey: "name")
        aCoder.encodeObject(shortname, forKey: "shortname")
    }    
}

最佳答案

您必须使用map 函数。

var t1 = Team(id: 1, name: "Adria", shortname: "Ad")
var t2 = Team(id: 2, name: "Roger", shortname: "Ro")
var t3 = Team(id: 3, name: "Raquel", shortname: "Ra")

var array: [Team] = [t1, t2, t3];

var arrayMap: Array = array.map(){ toString($0.id) }
var joinedString: String  = ",".join(arrayMap)

println(joinedString) // 1,2,3

关于ios - 加入自定义对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30048123/

相关文章:

ios - 渐变未填充 UITableViewCell

ios - 如何设置回默认的 UISegmentedControl 外观?

arrays - Swift: append 到字典

swift - 是否可以调试不是从 XCode 安装的 Swift 版本?

iphone - 从 UIEvent 对象识别触摸手势的类型

c# - Linq - 获取数组最后一个非零数的索引

javascript - 将对象转换为适合 ajax post 的数组

arrays - 如何在标签中显示数组

ios - 如何在后台线程调用API?

ios - 将 SubLayer 添加到 CAShapeLayer