Skip to content

Instantly share code, notes, and snippets.

@sora0077
sora0077 / STTemplate.h
Created February 1, 2013 11:48
同じ処理をテンプレート化
#import <Foundation/Foundation.h>
typedef id(^STTemplateBlocks)();
typedef void(^STTemplateBlocksVoid)();
#define STTemplateExecute(instance, aKey, ...) \
((STTemplateBlocks)[instance templateOf:aKey])(__VA_ARGS__)
#define STTemplateApply(instance, aKey, ...) \
((STTemplateBlocksVoid)[instance templateOf:aKey])(__VA_ARGS__)
@sora0077
sora0077 / file0.txt
Created April 1, 2013 13:52
iOS開発でよく使うマクロ数種 ref: http://qiita.com/items/154f8d39f7189f22daa7
// メッセージを続けて記述可能
// [SafeCast(NSMutableURLRequest, request) setTimeoutInterval:30];
#define SafeCast(type, var) \
^type *(id obj, Class clazz) {\
if ([obj isKindOfClass:clazz]) {\
return obj;\
}\
return nil;\
} (var, [type class])
@sora0077
sora0077 / AppDelegate.m
Created May 5, 2013 07:48
ログ出力をもっと便利に簡単にするマクロ ref: http://qiita.com/sora0077@github/items/ea0cf4a1a2ec3f0333d7
id var1 = @"hoge";
VARLOG(var1);
id var2 = @{@"huga": @"hoge"};
VARLOG(var1, var2);
// output
// -[AppDelegate application:didFinishLaunchingWithOptions:] at LINE:78
// {
// var1 = hoge;
#import <Foundation/Foundation.h>
@interface NSString (NSUserDefaults)
@property BOOL defaultsBool;
@property NSInteger defaultsInteger;
@property float defaultsFloat;
@property double defaultsDouble;
@property id defaultsObject;
@property NSData *defaultsData;
@property NSString *defaultsString;
@sora0077
sora0077 / How To Install
Last active August 29, 2015 14:14
テストデータ生成用Pythonコード
```
pip install rstr
pip install jinja2
```
`Python 3.4.1`
import UIKit
import XCPlayground
enum Path: Equatable {
case Current
case Parent
case Root
case Letter(String)
}
// Playground - noun: a place where people can play
import UIKit
import XCPlayground
protocol ObjectProtocol {}
protocol QuerySetProtocol {
}
//
// main.swift
// Formula
//
// Created by 林達也 on 2016/03/20.
// Copyright © 2016年 jp.sora0077. All rights reserved.
//
//: Playground - noun: a place where people can play
//: [Previous](@previous)
import Foundation
import UIKit
import XCPlayground
enum ParseError: Swift.Error {
case notSatisfy
}
@sora0077
sora0077 / HardRubberbandView.swift
Last active June 10, 2017 02:05
HardRubberbandView.swift
import UIKit
final class HardRubberbandView: UIView, UIScrollViewDelegate {
var contentSize: CGSize = .zero {
didSet {
scrollView.contentSize = contentSize
contentView.frame.size = contentSize
}
}
@objc