Skip to content

Instantly share code, notes, and snippets.

@codelynx
Last active December 5, 2015 23:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save codelynx/9defdf08e13358ad5966 to your computer and use it in GitHub Desktop.
Save codelynx/9defdf08e13358ad5966 to your computer and use it in GitHub Desktop.
common file/path related method
//
// String+Z.swift
// ZKit
//
// Created by Kaz Yoshikawa on 11/10/15.
//
//
import Foundation
extension String {
func stringByAppendingPathExtension(str: String) -> String? {
return (self as NSString).stringByAppendingPathExtension(str)
}
func stringByAppendingPathComponent(str: String) -> String {
return (self as NSString).stringByAppendingPathComponent(str)
}
var stringByDeletingPathExtension: String {
return (self as NSString).stringByDeletingPathExtension
}
var stringByDeletingLastPathComponent: String {
return (self as NSString).stringByDeletingLastPathComponent
}
var lastPathComponent: String {
return (self as NSString).lastPathComponent
}
var pathExtension: String {
return (self as NSString).pathExtension
}
var pathComponents: [String] {
return (self as NSString).pathComponents
}
func pathsForResourcesOfType(type: String) -> [String] {
let enumerator = NSFileManager.defaultManager().enumeratorAtPath(self)
var filePaths = [String]()
while let filePath = enumerator?.nextObject() as? String {
if filePath.pathExtension == type {
filePaths.append(filePath)
}
}
return filePaths
}
var lines: [String] {
var lines = [String]()
self.enumerateLines { (line, stop) -> () in
lines.append(line)
}
return lines
}
func indent() -> String {
return self.lines.map{" " + $0}.joinWithSeparator("\r")
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment