Skip to content

Instantly share code, notes, and snippets.

View oleksii-demedetskyi's full-sized avatar
🎯
Arrow: Language for unidirectional programming

Oleksii Demedetskyi oleksii-demedetskyi

🎯
Arrow: Language for unidirectional programming
View GitHub Profile
//
// ParamBuilder.h
// Petbox
//
// Created by Алексей Демедецкий on 02.03.12.
// Copyright (c) 2012 Ciklum. All rights reserved.
//
#import <Foundation/Foundation.h>
@oleksii-demedetskyi
oleksii-demedetskyi / gist:4155121
Created November 27, 2012 16:08
UIView extend principle
[view extend:^(UIView* view) {
// TODO: Subviews here
}];
@interface Dababase
+(<ClassName> *)shared;
- (NSArray *)managedObjectIDsWithObjects:(NSArray *)objects;
- (NSArray *)objectsWithManagedObjectIDs:(NSArray *)IDs;
- (BOOL)resetPersistentStoreOnStoreName:(NSString *)name;
- (void)save;
- (NSManagedObject *)newObjectOfEntity:(NSString *)name;
- (NSArray *)objectsOfEntity:(NSString *)name withPredicate:(NSPredicate *)predicate andSortDecriptors:(NSArray *)sortDescriptors;
#include "Release.xcconfig"
OTHER_CFLAGS = -DNS_BLOCK_ASSERTIONS=1
@oleksii-demedetskyi
oleksii-demedetskyi / If-less.m
Last active December 20, 2015 09:58
Example of if-less coding
- (void)switchPanel:(UIView*)currentPanel toPanel:(UIView*)newPanel;
{
if (currentPanel == newPanel) return;
/// This part of code describes all transitions between panels.
/// empty mean that panel is null;
/// non-empty : vice versa.
NSString *empty = @"empty", *non_empty = @"non-empty";
NSDictionary* switches = @{
@oleksii-demedetskyi
oleksii-demedetskyi / Traits.m
Created May 5, 2014 22:07
Example trait usage.
#import <Foundation/Foundation.h>
#define trait(NAME) protocol NAME;\
@interface id_##NAME @end \
typedef id_##NAME<NAME> NAME; \
@protocol NAME
#define trait_implementation(NAME) \
interface NAME##_impl : NSObject<NAME>\
- (NAME *) asTrait$;\
@oleksii-demedetskyi
oleksii-demedetskyi / AppDelegate.m
Created November 24, 2014 15:08
ServiceLocator Pattern for iOS
- didFinishAppLaunch
{
ServiceLocator* serviceLocator = [ServiceLocator new];
SomeService* someService = [SomeService new];
[serviceLocator useObject:someService asServiceForKind:[someService class]];
SomeViewController* vc = [SomeViewController new];
vc.serviceLocator = serviceLocator;
}
@oleksii-demedetskyi
oleksii-demedetskyi / notes.txt
Last active August 29, 2015 14:17
Script for XCI release notes building.
MyProject Bot #29 (Tue Mar 17 19:19:07 EET 2015)
c297393 - Merge branch 'feature/test-feature' into 'master'
Feature/test feature
asd a
d
da
sda
sd
@oleksii-demedetskyi
oleksii-demedetskyi / parse.sh
Created March 25, 2015 17:06
Google doc html public link parsing to txt.
grep '<tbody>' $1 | # select line with table
sed 's/^.*<tbody>//' | # drop html before table
sed 's/<\/tbody>.*$//' | # drop html after table
sed 's/<\/tr>/<\/tr>\'$'\n/g' | # split lines with \n
sed 's/<[^>]*>/|/g' | # replace <td> tags with '|'
sed 's/^\|\{3\}[0-9]*\|\{3\}//g' | # drop line numbers
sed 's/\|\|/'$'\t/g' # insert tabs instead '|'
@oleksii-demedetskyi
oleksii-demedetskyi / sb.h
Created March 30, 2015 14:13
Result expextation
#import <UIKit/UIKit.h>
#define field(__TYPE__, __NAME__) __unsafe_unretained __TYPE__ __NAME__
#define group(__NAME__, __CODE__) struct __CODE__ __NAME__
struct RBGTagSelectionStoryboardIDs
{
field(NSString*, name);
group(controllers, {
field(NSString*, tagList);