Skip to content
This repository was archived by the owner on Sep 19, 2024. It is now read-only.

Commit 0435d0b

Browse files
committed
Merge branch 'feature/nsdata-init' of https://github.com/tomlokhorst/R.swift.Library into tomlokhorst-feature/nsdata-init
2 parents 9144145 + 7d45067 commit 0435d0b

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
//
2+
// NSData+FileResource.swift
3+
// R.swift.Library
4+
//
5+
// Created by Tom Lokhorst on 2016-03-11.
6+
// Copyright © 2016 Mathijs Kadijk. All rights reserved.
7+
//
8+
9+
import Foundation
10+
11+
public extension NSData {
12+
13+
/**
14+
Creates and returns NSData with the contents of the specified file resource (R.file.*).
15+
16+
- parameter resource: The file resource (R.file.*)
17+
18+
- returns: A NSData object with the contents of the specified file.
19+
*/
20+
public convenience init?(resource: FileResourceType) {
21+
let bundle = resource.bundle ?? NSBundle.mainBundle()
22+
23+
guard let url = bundle.URLForResource(resource.name, withExtension: resource.pathExtension) else {
24+
return nil
25+
}
26+
27+
self.init(contentsOfURL: url)
28+
}
29+
}

R.swift.Library.xcodeproj/project.pbxproj

+4
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@
5959
D592465E1C117A55007F94C7 /* RswiftTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D592465D1C117A55007F94C7 /* RswiftTests.swift */; };
6060
D5E435A91C3CFB460091090C /* NibResource+UIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5E435A81C3CFB460091090C /* NibResource+UIKit.swift */; };
6161
D5E435AD1C3D00770091090C /* FileResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5E435AC1C3D00770091090C /* FileResource.swift */; };
62+
E20F34A71C92B44100338F81 /* NSData+FileResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = E20F34A61C92B44100338F81 /* NSData+FileResource.swift */; };
6263
/* End PBXBuildFile section */
6364

6465
/* Begin PBXContainerItemProxy section */
@@ -110,6 +111,7 @@
110111
D592465F1C117A55007F94C7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
111112
D5E435A81C3CFB460091090C /* NibResource+UIKit.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NibResource+UIKit.swift"; sourceTree = "<group>"; };
112113
D5E435AC1C3D00770091090C /* FileResource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FileResource.swift; sourceTree = "<group>"; };
114+
E20F34A61C92B44100338F81 /* NSData+FileResource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSData+FileResource.swift"; sourceTree = "<group>"; };
113115
/* End PBXFileReference section */
114116

115117
/* Begin PBXFrameworksBuildPhase section */
@@ -186,6 +188,7 @@
186188
isa = PBXGroup;
187189
children = (
188190
D56DC7721C42B65C00623437 /* NSBundle+FileResource.swift */,
191+
E20F34A61C92B44100338F81 /* NSData+FileResource.swift */,
189192
);
190193
path = Foundation;
191194
sourceTree = "<group>";
@@ -454,6 +457,7 @@
454457
D543F9BD1C14980600D16A0C /* ReuseIdentifierProtocol.swift in Sources */,
455458
D543F9C11C14984300D16A0C /* NibResource.swift in Sources */,
456459
D553F5851C44157000885232 /* ImageResource.swift in Sources */,
460+
E20F34A71C92B44100338F81 /* NSData+FileResource.swift in Sources */,
457461
D57E1EB51C3D774000DDA68F /* UIFont+FontResource.swift in Sources */,
458462
D5588CAB1C3F9DBE00912F97 /* UINib+NibResource.swift in Sources */,
459463
D553F5871C44170E00885232 /* UIImage+ImageResource.swift in Sources */,

0 commit comments

Comments
 (0)