Swift
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
EntryByIdto retrieve the same entry later
Chilkat Swift Downloads
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.")
}