-1

I have several UITableViewControllers and they have data from document folder into iOS Device. I export names of artists from mp3 files with help AVMetaDataItem. I get several names and I have duplicates. How can I remove duplicates from UITableViewCell?

    var cellStrings: String!
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! UITableViewCell

      var dataForCell = mp3Files[indexPath.row]
    var generalURL: NSURL!

    var documentFolder = fileManager.URLsForDirectory(NSSearchPathDirectory.DocumentDirectory, inDomains: NSSearchPathDomainMask.UserDomainMask)

    if var urlFromFolder: NSURL = documentFolder.first as? NSURL {
        generalURL = urlFromFolder.URLByAppendingPathComponent(dataForCell)
        println("general \(generalURL)")
    }

    var player = AVPlayerItem(URL: generalURL)
    var metaData = player.asset.commonMetadata as! [AVMetadataItem]
    for item in metaData {
        if item.commonKey == "artist" {
            nameArtist = item.stringValue
        }
    }

    cell.textLabel?.text = nameArtist

    return cell
}

enter image description here

Alexander Khitev
  • 6,417
  • 13
  • 59
  • 115

1 Answers1

-1

I solved my problem

var superArray = [String]()
var filterArray = [String]()
func filter() {
    var proString: String!
    for proItem in mp3Files {
        var proFolder = fileManager.URLsForDirectory(NSSearchPathDirectory.DocumentDirectory, inDomains: NSSearchPathDomainMask.UserDomainMask)
        var americaURL: NSURL!
        if var proURL: NSURL = proFolder.first as? NSURL {
            americaURL = proURL.URLByAppendingPathComponent(proItem)
        }
        var proPlayerItem = AVPlayerItem(URL: americaURL)
        var proData = proPlayerItem.asset.commonMetadata as! [AVMetadataItem]
        for proFiles in proData {
            if proFiles.commonKey == "artist" {
                superArray.append(proFiles.stringValue)
            }
        }
    }
    filterArray = Array(Set(superArray))
    filterArray.sort(){ $0 < $1 }
}
Alexander Khitev
  • 6,417
  • 13
  • 59
  • 115