Skip to content

Instantly share code, notes, and snippets.

View vani2's full-sized avatar

Ivan Vavilov vani2

View GitHub Profile
@vani2
vani2 / CoreDataDAORelationshipsExample.swift
Created February 17, 2017 07:43
CoreData relationships
// сущность Core Data
// CDEntry: NSManagedObject
class CDFolder: CDEntry {
@NSManaged var name: String?
@NSManaged var messages: [CDMessage]?
//...
}
@vani2
vani2 / EmptyBackBarButtonItemLabel.swift
Last active March 31, 2017 08:30
Easy way to remove navigation bar back button title from all screens
// Parent View Controller
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
navigationItem.clearBackBarButtonItemLabel()
}
}
// Helper extension
@vani2
vani2 / DAODemo.swift
Created April 4, 2017 09:19
DAO Presentation Demo
import UIKit
// MARK: - Сущность БД
class Entry {
let entryId: String
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.actool.catalog-contents</key>
<array>
<dict>
<key>children</key>
<array>
class UserParser: JSONParser<User> { 
func parseObject(_ data: JSON) -> User?
}
class UserSerializer: JSONSerializer<User> {
func serializeObject(_ object: User) -> Data?
}
/*
Deal
@model
*/
class Deal: Entity {
/*
Title
@json
*/
class DealParser: JSONParser<Deal> {
override func parseObject(_ data: JSON) -> Deal? {
guard
let title: String = data["title"]?.string,
let endDateString: String = data["end_date"]?.string
else { return nil }
let subtitle: String? = data["subtitle"]?.string
class DBDeal: RLMEntry {
@objc dynamic var title = ""
@objc dynamic var subtitle: String? = nil
@objc dynamic var endDateString = ""
}
class DealTranslator: RealmTranslator<Deal, DBDeal> {
override func fill(_ entity: Deal, fromEntry: DBDeal) {
entity.entityId = fromEntry.entryId
entity.title = fromEntry.title
entity.subtitle = fromEntry.subtitle
entity.endDateString = fromEntry.endDateString
}
let videoOutput = AVCaptureVideoDataOutput()
videoOutput.videoSettings = [
kCVPixelBufferPixelFormatTypeKey as String:
kCVPixelFormatType_32BGRA
]
videoOutput.setSampleBufferDelegate(self, queue: DispatchQueue.global(qos: .background))
captureSession.addOutput(videoOutput) // your session previously configured for capturing still image