Skip to content

Instantly share code, notes, and snippets.

View arturlector's full-sized avatar

Artur Igberdin arturlector

  • Kazan
View GitHub Profile
@arturlector
arturlector / Data+PrettyPrint.swift
Created March 24, 2024 09:47 — forked from cprovatas/Data+PrettyPrint.swift
Pretty print JSON string from Data in Swift 4.1 (especially useful printing to Xcode console)
import Foundation
extension Data {
var prettyPrintedJSONString: NSString? { /// NSString gives us a nice sanitized debugDescription
guard let object = try? JSONSerialization.jsonObject(with: self, options: []),
let data = try? JSONSerialization.data(withJSONObject: object, options: [.prettyPrinted]),
let prettyPrintedString = NSString(data: data, encoding: String.Encoding.utf8.rawValue) else { return nil }
return prettyPrintedString
}
@arturlector
arturlector / tools.swift
Created February 15, 2018 11:56
Ignore the view itself, but still deliver touches to its subviews
override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? {
let result = super.hitTest(point, with: event)
if result == self { return nil }
return result
}
{
"id": 22,
"title": "Сироп топинамбура натуральный 330г тест 2",
"count": 10,
"image": "app/img/default_catalog.png",
"measure": {
"id": 1,
"title": "за килограмм",
"sortingWeight": 1,
"decimalSymbol": "г",
@arturlector
arturlector / nslayoutconstraint.md
Last active April 23, 2016 15:31
NSLayoutConstraints

NSLayoutConstraints

Label with height and width (Swift)

To create label with height and width constraints here is the constraints...And don't forget to add label in to view with addSubview method

UILabel *Label = [[UILabel alloc] init];
[Label setTranslatesAutoresizingMaskIntoConstraints:NO];  
@arturlector
arturlector / let_var.md
Last active April 16, 2016 15:15
Константы и переменные? let vs var?

Константы и переменные? let vs var?

let - константа

var - переменная

let maximumNumberOfLoginAttempts = 10
var currentLoginAttempt = 0
@arturlector
arturlector / fundamental_types.md
Last active April 16, 2016 15:13
Фундаментальные, расширенные типы и типы коллекций?

Фундаментальные, расширенные типы и типы коллекций?

Фундаментальными типами в Swift - называют: Int, Float, Double, Bool.

Расширенные типы: Кортежи (tuples)

Типы коллекций: Array, Dictionary, Set.

Опциональные типы: это типы которые могу работать с отсутствующими значениями.

@arturlector
arturlector / upload_image.md
Last active March 23, 2016 22:22
Upload image.
- (void)uploadImage:(UIImage *)image
{
//    [self requestUploadImage:image andBlock:^(NSDictionary *responseDict) {
//        DLog(@"RESPONSE = %@", responseDict);
//    }];
    /*
    NSData *imageData = UIImagePNGRepresentation(image);
     [[IGSBackendManager sharedInstance] postTemplateUrlWithMultipartData:imageData
@arturlector
arturlector / strong_vs_copy.md
Last active September 7, 2019 20:57
Weak vs assign, strong vs copy?

Weak vs assign, strong vs copy?

В чем отличие strong и copy у ccылки на объект NSString?

Владение объектом

strong - это просто ссылка (если где-то измениться то он тоже измениться). Например strong NSString obj1 может быть ссылкой на NSMutableString obj2 и obj1 будет меняться, если измениться obj2.

@arturlector
arturlector / add_property_with_runtime.md
Last active March 18, 2016 15:32
Как добавить свойство в существующий объект с закрытой реализацией через runtime?

Как добавить свойство в существующий объект с закрытой реализацией через runtime?

Добавляем свойство в GMSPlace. Добавляем shortAddress через runtime.

#import <GoogleMaps/GoogleMaps.h>

@interface GMSPlace (Category)
@property (strong, nonatomic) NSString *shortAddress;
@arturlector
arturlector / get_places.md
Last active March 15, 2016 14:05
Google Places. Get places by current coordinate.

Google Places.

Get places by current coordinate

- (void)getNearbyPlaces
{
 [self.placesClient currentPlaceWithCallback:^(GMSPlaceLikelihoodList * _Nullable likelihoodList, NSError * _Nullable error) {