Skip to content

Instantly share code, notes, and snippets.

@niwatako
niwatako / CodePiece.swift
Created August 6, 2016 05:19
SLRequestを使えば、TwitterのAPIのURLを渡してOSから取得したTwitterアカウントを指定するだけで、リクエストを生成してくれる #CodePiece #realm_swift #realm_jp
let requestURL = NSURL(string: "https://api.twitter.com/1/statuses/home_timeline.json")
let request = SLRequest(forServiceType: SLServiceTypeTwitter, requestMethod: .GET, URL: requestURL, parameters: nil)
request.account = account
@niwatako
niwatako / CodePiece.swift
Created August 6, 2016 05:15
TwitterのAPIを使ってタイムラインを取得する処理 func getHomeTimeline() を作成 #CodePiece #realm_swift #realm_jp
import UIKit
import Accounts
import Social
import RealmSwift
class TimelineViewController: UITableViewController {
var account: ACAccount?
override func viewDidLoad() {
@niwatako
niwatako / CodePiece.swift
Created August 6, 2016 04:59
UITableViewCellのカスタムクラスTimelineCellをTimelineCell.swiftファイルに作成 #CodePiece #realm_swift #realm_jp
import UIKit
class TimelineCell: UITableViewCell {
@IBOutlet weak var iconView: UIImageView!
@IBOutlet weak var nameLabel: UILabel!
@IBOutlet weak var tweetTextView: UITextView!
override func prepareForReuse() {
iconView.image = nil
nameLabel.text = nil
@niwatako
niwatako / CodePiece.swift
Created August 6, 2016 04:53
Tweet.swiftはいまこうなってるはず #CodePiece #realm_swift #realm_jp
import Foundation
import RealmSwift
class Tweet: Object {
dynamic var name = ""
dynamic var text = ""
dynamic var iconURL = ""
dynamic var id = ""
dynamic var createdAt = NSDate()
@niwatako
niwatako / CodePiece.swift
Created August 6, 2016 04:52
TweetクラスにAPIのレスポンスからインスタンスを作るイニシャライザと、日付文字列をNSDate()に変換する機能を作る #CodePiece #realm_swift #realm_jp
static var dateFormatter: NSDateFormatter {
let dateFormatter = NSDateFormatter()
dateFormatter.locale = NSLocale(localeIdentifier: "en_US_POSIX")
dateFormatter.dateFormat = "EEE MMM dd HH:mm:ss Z yyyy"
return dateFormatter
}
convenience init(tweetDictionary: [String: AnyObject]) {
self.init()
let user = tweetDictionary["user"] as! [String: AnyObject]
@niwatako
niwatako / CodePiece.swift
Created August 6, 2016 04:34
AppDelegateでTweetオブジェクトを生成・保存・取り出ししてみる #CodePiece #realm_swift #realm_jp
import UIKit
import RealmSwift
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
@niwatako
niwatako / CodePiece.swift
Created August 6, 2016 04:28
Tweet.swift #CodePiece #realm_swift #realm_jp
import Foundation
import RealmSwift
class Tweet: Object {
dynamic var name = ""
dynamic var text = ""
dynamic var iconURL = ""
dynamic var id = ""
dynamic var createdAt = NSDate()
}
@niwatako
niwatako / CodePiece.swift
Created August 6, 2016 04:18
didFinishLaunchingWithOptions の中でRealmインスタンスを作ります #CodePiece #realm_swift #realm_jp
import UIKit
import RealmSwift
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
@niwatako
niwatako / CodePiece.swift
Last active July 20, 2016 11:33
いろいろあった!そして最初にオプショナルのまま比較できることに気づくべきだった。お騒がせしましたm(_ _ )m #CodePiece
let foo: NSDate? = NSDate()
let interval: NSTimeInterval = 1.0
let bar: String = ""
// Mark -
// Mapで出来るぞ
if foo.map({$0.timeIntervalSinceNow < interval}) ?? bar.isEmpty {
print("load")
}
@niwatako
niwatako / CodePiece.js
Created July 20, 2016 09:02
string2 が nil の時に print("load") が実行されてほしいのです https://twitter.com/rizumita/status/755687567933120513 #CodePiece
let string1 = "" // これが isEmpty なら
let string2: String? = nil // nil の時でも
if let s = string2 where s == "string" || string1.isEmpty {
print("load") // 実行されたい
}
// こんな書き方はできないけどイメージはこれ if (let where ) || ...