Skip to content

leoho0722/SwiftHelpers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

96 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SwiftHelpers

GitHub tag (with filter)

Use Swift to create some amazing things!

Minimum Requirement

  • iOS 15.0 or above
  • macOS 12.0 or above
  • Xcode 14.0 or above

Package Development Environment

  • macOS Sonoma 14.4.1 (23E224)
  • Xcode 15.3 (15E204a)
  • Swift 5.9.2 (5.9.2.2.56)

Install

Currently only installation using Swift Package Manager is supported.

https://github.com/leoho0722/SwiftHelpers.git

Install

How to use

Example: Convert to JSON Data

import Foundation
import SwiftHelpers

func createURLRequest<E>(with url: URL,
                         method: HTTP.Method,
                         parameters: E) -> URLRequest where E: Encodable {
    var request = URLRequest(url: url)
    request.httpMethod = method.rawValue
    request.allHTTPHeaderFields = [
        HTTP.HeaderFields.contentType.rawValue : HTTP.ContentType.json.rawValue
    ]
    
    if method != .get {
        request.httpBody = try? JSON.toJsonData(data: parameters)
    }
    
    return request
}

Example: Safely use SF Symbols with UIKit and AppKit and SwiftUI

UIKit

import SwiftHelpers
import UIKit

class ViewController: UIViewController {
    
    private let imageView = UIImageView()

    override func viewDidLoad() {
        super.viewDidLoad()
        imageView.image = UIImage(symbols: .applelogo) // Use SwiftHelpers
        // imageView.image = UIImage(systemName: "applelogo") // Use UIKit
        view.addSubView(imageView)
        
        // ...
    }
}

AppKit

import Cocoa
import SwiftHelpers

class ViewController: NSViewController {
    
    private let imageView = NSImageView()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        imageView.image = NSImage(symbols: .applelogo) // Use SwiftHelpers
        // imageView.image = NSImage(systemSymbolName: "applelogo", accessibilityDescription: nil) // Use AppKit
        view.addSubView(imageView)
        
        // ...
    }

    override var representedObject: Any? {
        didSet {
            // Update the view, if already loaded.
        }
    }
}

SwiftUI

import SwiftHelpers
import SwiftUI

struct ContentView: View {
    
    var body: some View {
        Image(symbols: .applelogo) // Use SwiftHelpers
        // Image(systemName: "applelogo") // Use SwiftUI
        
        Label("Safely use SF Symobols with SwiftUI", symbols: .applelogo) // Use SwiftHelpers
        // Label("Use SF Symobols with SwiftUI", systemImage: "applelogo") // Use SwiftUI
        
        // ...
    }
}

About

Use Swift to create some amazing things!

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages