-(void)inflateArchive{NSAutoreleasePool*pool=[[NSAutoreleasePoolalloc]init];NSString*archivePath=[selfarchivePath];ZKFileArchive*archive=[ZKFileArchivearchiveWithArchivePath:archivePath];[archivesetDelegate:self];[selfsetArchiveSize:[[[archivecentralDirectory]valueForKeyPath:@"@sum.uncompressedSize"]unsignedLongValue]];[archiveinflateToDiskUsingResourceFork:NO];// do something with inflated archive. // zipkit puts all inflated files in the same directory as the archive.[selfperformSelectorOnMainThread:@selector(inflateComplete)withObject:nilwaitUntilDone:NO];[pooldrain];}-(void)inflateComplete{// do something after inflate finishes.}# pragma mark - ZKArchive delegate methods-(void)onZKArchive:(ZKArchive*)archivedidUpdateBytesWritten:(unsignedlonglong)byteCount{[selfsetArchiveProgress:[selfarchiveProgress]+byteCount];if([selfarchiveSize]<=0)return;[[selfprogressView]setProgress:(float)[selfarchiveProgress]/(float)[selfarchiveSize]];}-(BOOL)zkDelegateWantsSizes{returnYES;}