Skip to content

Instantly share code, notes, and snippets.

@OctoberHammer
OctoberHammer / How to leave only unique values in Array
Created April 19, 2016 11:39
How to leave only unique values in Array
uniqueValues = Array(Set(uniqueValues))
class ParseLayer {
var categoriesDelegate: CategoriesDelegate?
var categories: [String:PFObject] = [:]
//class
//let query = PFQuery(className: "Categories")
func getAllCategories() {
let query = PFQuery(className: "Categories")
query.fromLocalDatastore()
import Foundation
import PlaygroundSupport
PlaygroundPage.current.needsIndefiniteExecution = true
func async<T>(_ executable: @escaping @autoclosure () -> T, _ priority: DispatchQoS.QoSClass = DispatchQoS.QoSClass.default, completion: @escaping (T) -> Void) {
DispatchQueue.global(qos: priority).async {
let result = executable()
DispatchQueue.main.async {
@OctoberHammer
OctoberHammer / DownloadManager.swift
Created March 28, 2017 06:17
How To Download Multiple Files Sequentially using NSURLSession downloadTask in Swift
mport Foundation
class DownloadManager {
var delegate: HavingWebView?
var gotFirstAndEnough = true
var finalURL: NSURL?{
didSet{
if finalURL != nil {
@OctoberHammer
OctoberHammer / Model.swift
Last active August 21, 2021 21:39
Запрос на консультацию. Последовательное получение картинок из PFFile для массива объектов PFObject
//
// Model.swift
// KidSpace
//
// Created by October Hammer on 4/19/17.
// Copyright © 2017 Ocotober Hammer. All rights reserved.
//
import Foundation
import Parse
@OctoberHammer
OctoberHammer / Часть selectRootElements.swift
Created May 3, 2017 07:24
Затем я попытался все-таки тупо, кодом в стиле "Пирамида погибели", получить данные картинки для 3-х подряд элементов. Получилось как ниже
if pfCategories.count > 0 {
//Получаю 1-ю запись, с самой большой картинкой. Хочу сначала вытащить ее, и только потом обрабатывать последовательно остальные записи
let category = Category(pfCategories[0].objectId!, name: pfCategories[0]["name"] as! String)//по сути я создаю новый инстанс
category.url = pfCategories[0]["URL"] as? String
if let picture = pfCategories[0].value(forKey: "picture") as? PFFile {
category.retrieveImage(from: picture) {(_ imageData: Data?) -> Void in
category.pictureData = imageData//вот они, данные картинки
catSelection?.append(category)//добавил
//====
let category = Category(pfCategories[1].objectId!, name: pfCategories[1]["name"] as! String)//по сути я создаю новый инстанс
@OctoberHammer
OctoberHammer / Model.swift
Created May 3, 2017 09:16
В конечном счете я решил, что это простая рекурсия. На других языках рекурсию я реализовывал. Пробую на свифте
//
// Model.swift
// KidSpace
//
// Created by October Hammer on 4/19/17.
// Copyright © 2017 Ocotober Hammer. All rights reserved.
//
import Foundation
import Parse
//Сначала вьюКонтроллер
import UIKit
//объявляем протокол
protocol HavingMenuItems {
//пишу прямо в текстовом редакторе, могут быть ошибки, исправим
//твой протокол - это просто класс, у которого будет вот такая переменная такого типа
var menuItems: [MenuItem] {
get {}
@OctoberHammer
OctoberHammer / curl
Created May 15, 2017 07:03
Как *curl* преобразовать в NSURLSession или Alamofire.request(), с учетом параметров
Например такая строка из терминала:
curl -X GET \
-H "X-Parse-Application-Id: ad383bxkAmwAgKgPEqZHjewleWi2bLmNTlctBuky" \
-H "X-Parse-Master-Key: qTJ3eatgZppvAWqkb82WsCoqG9MqRog2MBXqRHHv" \
-G \
--data-urlencode "where={\"parentID\":{\"\$exists\":false}}" \
https://parseapi.back4app.com/classes/category
Возвращает приемлемую для меня JSON-строку(ниже)
@OctoberHammer
OctoberHammer / MainController.swift
Created May 17, 2017 09:46
GradientInBackgroundOfNavigationBarAndStatusBar
class MainController: UINavigationController {
override func viewDidLoad() {
super.viewDidLoad()
self.navigationBar.isTranslucent = false
self.navigationBar.tintColor = UIColor.blue
let fontDictionary = [ NSForegroundColorAttributeName:UIColor.red ]
self.navigationBar.titleTextAttributes = fontDictionary
self.navigationBar.setBackgroundImage(imageLayerForGradientBackground(), for: UIBarMetrics.default)