iPhoneアプリ開発

Pocket

iOS Swift : ReachabilityをSwiftから使う方法

Pocket

iOSのアプリ開発を行う上で、オンラインチェックを、Appleが用意しているサンプルコードReachabilityを使うのが便利です。

Swiftで開発しているプロジェクトで、Reachabilityを使うときのメモです。

1)Reachability.h, Reachability.mをPJに追加

2)Bridging-Headerに、Reachabilityを記載

PjName-Bridging-Header.h

下記を追加

#import "Reachability.h"

3)今回は、NetworkUtilというクラスを作成して利用する

NetworkUtil.swift

import UIKit

class NetworkUtil: NSObject {

    class func hasConnectivity() -> Bool {
        let reachability : Reachability = Reachability.reachabilityForInternetConnection()
        let networkStatus : Int = reachability.currentReachabilityStatus().value
        return networkStatus != 0
    }
    
}

4) 利用方法
// オンラインチェックしたいメソッドで、

if(NetworkUtil.hasConnectivity()) {
	// オンライン処理

} else {
	// オフライン時のハンドリング
}

環境

XCODE 6.0.1
iOS SDK 8.0
Reachability Version: 3.5

参照

http://stackoverflow.com/questions/24516748/check-network-status-in-swift

Swift : NSTimerでタイマーを実装する

Pocket

iOS8 SwiftでNSTimerでタイマーを実装する方法

override func viewDidLoad() {
    super.viewDidLoad()
    
    var timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: Selector("timerUpdate"), userInfo: nil, repeats: true)
}

func timerUpdate() {
    println("timer update!")
}

Swift : UIButtonをコードで実装する方法

Pocket

iOS8 SwiftでUIButtonをStory Boardを使わないで、コードで実装する方法のメモ

override func viewDidLoad() {
    super.viewDidLoad()
    let button = UIButton.buttonWithType(UIButtonType.System) as? UIButton
    button?.frame = CGRectMake(0, 0, 160, 100)
    button?.addTarget(self, action: "buttonTouched:", forControlEvents:UIControlEvents.TouchUpInside)
    button?.setTitle("Test Button", forState: UIControlState.Normal)
    self.view.addSubview(button!)
}

func buttonTouched(sender : UIButton!)
{
    println("touched!")
}