Skip to content

Instantly share code, notes, and snippets.

View jeksys's full-sized avatar

Eugene Yagrushkin jeksys

View GitHub Profile
extension String{
var length: Int{
get{
return self.utf16Count
}
}
func isValidEmail() -> Bool {
let emailRegex = NSRegularExpression(pattern: "^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$", options: .CaseInsensitive, error: nil)
@jeksys
jeksys / gist:8381377062364ab19379
Created February 4, 2015 21:51
uicolorFromHex.swift
func uicolorFromHex(rgbValue:UInt32)->UIColor{
let red = CGFloat((rgbValue & 0xFF0000) >> 16)/256.0
let green = CGFloat((rgbValue & 0xFF00) >> 8)/256.0
let blue = CGFloat(rgbValue & 0xFF)/256.0
return UIColor(red:red, green:green, blue:blue, alpha:1.0)
}
@jeksys
jeksys / NSTimer+closure.swift
Last active February 13, 2017 03:44
NStimer
extension NSTimer {
class func scheduledTimerWithTimeInterval(interval: NSTimeInterval, repeats: Bool, handler: NSTimer! -> Void) -> NSTimer {
let fireDate = interval + CFAbsoluteTimeGetCurrent()
let repeatInterval = repeats ? interval : 0
let timer = CFRunLoopTimerCreateWithHandler(kCFAllocatorDefault, fireDate, repeatInterval, 0, 0, handler)
CFRunLoopAddTimer(CFRunLoopGetCurrent(), timer, kCFRunLoopCommonModes)
return timer
}
}
@jeksys
jeksys / gist:b672a37dd0287596c76c
Created January 27, 2015 17:04
CoreData.Fetch
func listEntities(managedContext: NSManagedObjectContext, entityName: String, groupBy: Array<String>)->NSArray{
var error: NSError?
var results : NSArray = NSArray()
let fetchRequest = NSFetchRequest(entityName: entityName)
if groupBy.count > 0{
fetchRequest.propertiesToGroupBy = groupBy
}
if let results = managedContext.executeFetchRequest(fetchRequest, error: &error) {
@jeksys
jeksys / gist:8c792baeafa13fe4f01a
Created January 23, 2015 02:56
Swift delay func
func delay(delay:Double, closure:()->()) {
dispatch_after(
dispatch_time(
DISPATCH_TIME_NOW,
Int64(delay * Double(NSEC_PER_SEC))
),
dispatch_get_main_queue(), closure)
}
@jeksys
jeksys / gist:4088742
Created November 16, 2012 16:32
webView PDF
NSString *path = [[NSBundle mainBundle] pathForResource:@"document" ofType:@"pdf"];
NSURL *targetURL = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
[webView loadRequest:request];
@jeksys
jeksys / gist:4066478
Created November 13, 2012 15:50
iOS\Resource\Property List template
<plist version="1.0">
<array>
<dict>
<key>category</key> <string>classic</string>
<key>quote</key> <string>Frankly my dear, I don't give a dam.</string>
<key>source</key> <string>Gone with the wind</string>
</dict>
@jeksys
jeksys / gist:3953710
Created October 25, 2012 16:09
Render a layer to an image with scalefactor
dispatch_async(dispatch_get_main_queue(), ^{
previewToSave = nil;
CGSize screenSize = self.view.bounds.size;
float scaleFactor = 0.2;
const size_t originalWidth = screenSize.width * scaleFactor;
const size_t originalHeight = screenSize.height * scaleFactor;
CGColorSpaceRef colorSpaceRef = CGColorSpaceCreateDeviceRGB();
CGContextRef ctx = CGBitmapContextCreate(nil, originalWidth, originalHeight, 8, 4*(int)originalWidth, colorSpaceRef, kCGImageAlphaPremultipliedLast);
if (ctx != nil) {
@jeksys
jeksys / gist:3953709
Created October 25, 2012 16:09
Render a layer to an image with scalefactor
dispatch_async(dispatch_get_main_queue(), ^{
previewToSave = nil;
CGSize screenSize = self.view.bounds.size;
float scaleFactor = 0.2;
const size_t originalWidth = screenSize.width * scaleFactor;
const size_t originalHeight = screenSize.height * scaleFactor;
CGColorSpaceRef colorSpaceRef = CGColorSpaceCreateDeviceRGB();
CGContextRef ctx = CGBitmapContextCreate(nil, originalWidth, originalHeight, 8, 4*(int)originalWidth, colorSpaceRef, kCGImageAlphaPremultipliedLast);
if (ctx != nil) {
@jeksys
jeksys / gist:3747387
Created September 19, 2012 02:53
dispatch_after
double delayInSeconds = 2.0;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void) {