Skip to content

Instantly share code, notes, and snippets.

@armstrongnate
armstrongnate / svg-from-data.swift
Created January 12, 2023 22:19
Render SVG from data in swift
private func imageFrom(url: URL?, data: Data, response: HTTPURLResponse? = nil) -> AnyPublisher<UIImage?, Error> {
let type = response?.mimeType
if type?.hasPrefix("image/svg") == true || url?.pathExtension.lowercased() == "svg" {
return svgFrom(data: data)
}
return Just(UIImage(data: data)).setFailureType(to: Error.self).eraseToAnyPublisher()
}
private func svgFrom(data: Data) -> AnyPublisher<UIImage?, Error> {
@armstrongnate
armstrongnate / dateformats.swift
Created May 5, 2022 16:41
Default iOS Date Formats (to send to a designer)
import Foundation
import SwiftUI
import CoreLocation
let jan = Calendar.current.date(from: DateComponents(year: 2021, month: 1, day: 1, hour: 2, minute: 0))!
let styles: [DateFormatter.Style] = [
.none,
.short,
.medium,
@armstrongnate
armstrongnate / basic-auth.swift
Created July 20, 2014 21:45
HTTP Basic Authentication using NSURLSession in swift
import Foundation
let config = NSURLSessionConfiguration.defaultSessionConfiguration()
let userPasswordString = "username@gmail.com:password"
let userPasswordData = userPasswordString.dataUsingEncoding(NSUTF8StringEncoding)
let base64EncodedCredential = userPasswordData!.base64EncodedStringWithOptions(nil)
let authString = "Basic \(base64EncodedCredential)"
config.HTTPAdditionalHeaders = ["Authorization" : authString]
let session = NSURLSession(configuration: config)
<<<<<<< HEAD
if let titleView: UIView = titleViewFromNavBarImagePath(navBarImagePath: navBarImagePath) {
titleView.contentMode = .scaleAspectFit
let container = UIView(frame: CGRect(x: 0, y: 0, width: 32, height: 32))
titleView.frame = CGRect(x: 0, y: 0, width: 32, height: 32)
container.addSubview(titleView)
self.navigationItem.titleView = container
}
else {
self.navigationItem.titleView = nil
func testDeleteFolder() {
attempt {
let session = Session.nas
var response: JSONObject?
stub(session, "delete-folder") { expectation in
try! Folder.deleteFolder(session, folderID: "10396915")
.startWithCompletedExpectation(expectation) { value in
response = value
}
@armstrongnate
armstrongnate / ruby on mavericks
Created November 8, 2013 20:49
instal ruby on mavericks with rbenv
# XCode 5 hides these away:
export C_INCLUDE_PATH="$(xcrun --show-sdk-path)/usr/include"
export CPLUS_INCLUDE_PATH="$(xcrun --show-sdk-path)/usr/include"
export LIBRARY_PATH="$(xcrun --show-sdk-path)/usr/lib:$(xcrun --show-sdk-path)/usr/lib/system:$LIBRARY_PATH"
and then you can do rbenv install
class AddIndexOnCompanyIdInConcernsAndDepartmentsAndUsers < ActiveRecord::Migration
def change
add_index :departments, :company_id
add_index :concerns, :company_id
add_index :users, :company_id
end
end
@armstrongnate
armstrongnate / mysql start
Created June 26, 2013 23:40
start mysql after reboot
mysql.server start
@armstrongnate
armstrongnate / nsObjectInit
Last active December 18, 2015 01:19
base init method of NSObject
@implementation MyCustomClass
- (id)init
{
self = [super init];
if (self) {
// custom initializations
// use underscore assignment (_date = [NSDate date]) instead of setters and getters
@armstrongnate
armstrongnate / awakeFromNib
Created June 4, 2013 02:00
how to call awakeFromNib method inside View Controller (method that gets called before viewDidLoad, mostly used for geometry changes)
// the following class inherits from UIViewController
@implementation MyCustomViewController
- (void)setup
{
// initialization that can't wait until viewDidLoad
}
- (void)awakeFromNib