Sample code for 30+ languages & platforms
Swift

Find a ZIP Entry by EntryID Using EntryById

See more Zip Examples

This example demonstrates how to use the EntryById method to retrieve a ZIP entry using its unique EntryID.

Each ZipEntry object has an EntryID property that uniquely identifies the entry within the currently open ZIP object.

This is useful when:

  • An application stores EntryID values for later use
  • ZIP entries need to be retrieved without searching by filename
  • Multiple entries may have similar names or paths

The example:

  • Opens a ZIP archive
  • Retrieves an entry using EntryAt
  • Saves the entry's EntryID
  • Uses EntryById to retrieve the same entry later

Chilkat Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = false

    success = false

    // Open an existing ZIP archive.
    let zip = CkoZip()!

    success = zip.open(zipPath: "example.zip")
    if success == false {
        print("\(zip.lastErrorText!)")
        return
    }

    // Retrieve the first entry in the ZIP archive.
    let entry = CkoZipEntry()!

    success = zip.entry(at: 0, entry: entry)
    if success == false {
        print("\(zip.lastErrorText!)")
        return
    }

    print("Original entry:")
    print("  FileName: \(entry.fileName!)")
    print("  EntryID: \(entry.entryID.intValue)")
    print("")

    // Save the EntryID for later use.
    var entryId: Int = entry.entryID.intValue

    // Create another ZipEntry object.
    let entry2 = CkoZipEntry()!

    // Retrieve the same entry using EntryById.
    success = zip.entry(byId: entryId, entry: entry2)
    if success == false {
        print("\(zip.lastErrorText!)")
        return
    }

    print("Entry retrieved by EntryID:")
    print("  FileName: \(entry2.fileName!)")
    print("  EntryID: \(entry2.entryID.intValue)")
    print("")

    // The filenames and EntryID values should match.
    zip.close()

    print("Done.")

}