Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
89 changes: 88 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,90 @@
# ESFileManager

A description of this package.
A simple library for use iOS File manager

# Usage

## Standart use

1) Import in project

```swift
import ESFileManager
```

[model of log](https://eskaria.github.io/AdvancedLogger/Structs.html#/s:14AdvancedLogger0aB5ModelV)

2) Create property of ESFileManager. In argument used default way for write/read data, but you can use init with default value "Document folder without iCloud sync". You can read about [this folders and when use kind of this](https://eskaria.github.io/ESFileManager/Enums/ESFileExtensionType.html)

```swift
private var fileManager: ESFileManagerProtocol = ESFileManager()
```

3) You can read data with [read func](https://eskaria.github.io/ESFileManager/Protocols/ESFileManagerProtocol.html#/s:13ESFileManager0aB8ProtocolP4read11fileStorage2at10completionyAA0A9NameModelV_AA0aB9DirectoryOSgyAA0aJ0VSg_s5Error_pSgtcSgtF). For read and write used [model of file](https://eskaria.github.io/ESFileManager/Structs/ESFileModel.html) which contain [model with name and extension of file](https://eskaria.github.io/ESFileManager/Structs/ESFileNameModel.html)


```swift
private func readFile() {
// create name and extension of file to read
let file = ESFileNameModel(name: "SwiftDoc", fileExtension: .txt)

//read this file. At = nil cause we use default directory
fileManager.read(fileStorage: file, at: nil) { (file, error) in
//fetch error
if let error = error {
//fetch error
return
}
//fetch empty state of file
guard let data = file?.data else {
// file is empty!
return
}
//show our file
let stringFile = String(data: data, encoding: .utf8)
//You successful read the file!
}
}
```

3) You can write your file on disk with [write func](https://eskaria.github.io/ESFileManager/Protocols/ESFileManagerProtocol.html#/s:13ESFileManager0aB8ProtocolP5write4file2at10completionyAA0A5ModelV_AA0aB9DirectoryOSgys5Error_pSgcSgtF)

```swift
private func writeFile() {
// create data to write
let data = "Swift is amazing!".data(using: .utf8)

let fileName = ESFileNameModel(name: "SwiftDoc", fileExtension: .txt)
let file = ESFileModel(data: data, name: fileName)

// write data. At = nil cause we use default directory from prepareVC method
fileManager.write(file: file, at: nil) { (error) in
if let error = error {
//error
return
}
//You successful recorded the file!
}
}
```

4) For remove file you [remove func](https://eskaria.github.io/ESFileManager/Protocols/ESFileManagerProtocol.html#/s:13ESFileManager0aB8ProtocolP6remove4file2at10completionyAA0A9NameModelV_AA0aB9DirectoryOSgys5Error_pSgcSgtF)

```swift
private func removeFile() {
// create name and extension of file to remove
let file = ESFileNameModel(name: "SwiftDoc", fileExtension: .txt)

//remove this file. At = nil cause we use default directory
fileManager.remove(file: file, at: nil) { (error) in
//fetch error
if let error = error {
// fetch error
return
}
//You successful remove this file!
}
}
```

5) You can geet list of files in your directory with [list func](https://eskaria.github.io/ESFileManager/Protocols/ESFileManagerProtocol.html#/s:13ESFileManager0aB8ProtocolP9listFiles2at10completionyAA0aB9DirectoryOSg_ySayAA0A9NameModelVGSg_s5Error_pSgtcSgtF)
143 changes: 143 additions & 0 deletions docs/Enums.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Enumerations Reference</title>
<link rel="stylesheet" type="text/css" href="css/jazzy.css" />
<link rel="stylesheet" type="text/css" href="css/highlight.css" />
<meta charset='utf-8'>
<script src="js/jquery.min.js" defer></script>
<script src="js/jazzy.js" defer></script>

</head>
<body>
<a name="//apple_ref/swift/Section/Enumerations" class="dashAnchor"></a>
<a title="Enumerations Reference"></a>
<header>
<div class="content-wrapper">
<p><a href="index.html"> Docs</a> (89% documented)</p>
</div>
</header>
<div class="content-wrapper">
<p id="breadcrumbs">
<a href="index.html"> Reference</a>
<img id="carat" src="img/carat.png" />
Enumerations Reference
</p>
</div>
<div class="content-wrapper">
<nav class="sidebar">
<ul class="nav-groups">
<li class="nav-group-name">
<a href="Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="Enums/ESFileExtensionType.html">ESFileExtensionType</a>
</li>
<li class="nav-group-task">
<a href="Enums/ESFileManagerDirectory.html">ESFileManagerDirectory</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="Protocols/ESFileManagerProtocol.html">ESFileManagerProtocol</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="Structs/ESFileManager.html">ESFileManager</a>
</li>
<li class="nav-group-task">
<a href="Structs/ESFileModel.html">ESFileModel</a>
</li>
<li class="nav-group-task">
<a href="Structs/ESFileNameModel.html">ESFileNameModel</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section>
<section class="section">
<h1>Enumerations</h1>
<p>The following enumerations are available globally.</p>

</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:13ESFileManager0A13ExtensionTypeO"></a>
<a name="//apple_ref/swift/Enum/ESFileExtensionType" class="dashAnchor"></a>
<a class="token" href="#/s:13ESFileManager0A13ExtensionTypeO">ESFileExtensionType</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>File format for write on disk</p>

<a href="Enums/ESFileExtensionType.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">enum</span> <span class="kt">ESFileExtensionType</span></code></pre>

</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:13ESFileManager0aB9DirectoryO"></a>
<a name="//apple_ref/swift/Enum/ESFileManagerDirectory" class="dashAnchor"></a>
<a class="token" href="#/s:13ESFileManager0aB9DirectoryO">ESFileManagerDirectory</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Enum with diffrent type of storage. You can check case for additional inforamtion</p>

<a href="Enums/ESFileManagerDirectory.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">enum</span> <span class="kt">ESFileManagerDirectory</span></code></pre>

</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>&copy; 2020 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2020-05-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
</body>
</div>
</html>
147 changes: 147 additions & 0 deletions docs/Enums/ESFileExtensionType.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>ESFileExtensionType Enumeration Reference</title>
<link rel="stylesheet" type="text/css" href="../css/jazzy.css" />
<link rel="stylesheet" type="text/css" href="../css/highlight.css" />
<meta charset='utf-8'>
<script src="../js/jquery.min.js" defer></script>
<script src="../js/jazzy.js" defer></script>

</head>
<body>
<a name="//apple_ref/swift/Enum/ESFileExtensionType" class="dashAnchor"></a>
<a title="ESFileExtensionType Enumeration Reference"></a>
<header>
<div class="content-wrapper">
<p><a href="../index.html"> Docs</a> (89% documented)</p>
</div>
</header>
<div class="content-wrapper">
<p id="breadcrumbs">
<a href="../index.html"> Reference</a>
<img id="carat" src="../img/carat.png" />
ESFileExtensionType Enumeration Reference
</p>
</div>
<div class="content-wrapper">
<nav class="sidebar">
<ul class="nav-groups">
<li class="nav-group-name">
<a href="../Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Enums/ESFileExtensionType.html">ESFileExtensionType</a>
</li>
<li class="nav-group-task">
<a href="../Enums/ESFileManagerDirectory.html">ESFileManagerDirectory</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Protocols/ESFileManagerProtocol.html">ESFileManagerProtocol</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Structs/ESFileManager.html">ESFileManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/ESFileModel.html">ESFileModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/ESFileNameModel.html">ESFileNameModel</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section>
<section class="section">
<h1>ESFileExtensionType</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">enum</span> <span class="kt">ESFileExtensionType</span></code></pre>

</div>
</div>
<p>File format for write on disk</p>

</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:13ESFileManager0A13ExtensionTypeO3txtyA2CmF"></a>
<a name="//apple_ref/swift/Element/txt" class="dashAnchor"></a>
<a class="token" href="#/s:13ESFileManager0A13ExtensionTypeO3txtyA2CmF">txt</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Undocumented</p>

</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">case</span> <span class="n">txt</span></code></pre>

</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:13ESFileManager0A13ExtensionTypeO6customyACSS_tcACmF"></a>
<a name="//apple_ref/swift/Element/custom(extensionName:)" class="dashAnchor"></a>
<a class="token" href="#/s:13ESFileManager0A13ExtensionTypeO6customyACSS_tcACmF">custom(extensionName:<wbr>)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Undocumented</p>

</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">case</span> <span class="nf">custom</span><span class="p">(</span><span class="nv">extensionName</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span></code></pre>

</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>&copy; 2020 <a class="link" href="" target="_blank" rel="external"></a>. All rights reserved. (Last updated: 2020-05-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
</body>
</div>
</html>
Loading