消耗
私は完全に消耗してました。
下記のような処理をあちこちに書き散らしそうになってましたね。
if(OS_VERSION <= iOS7) {
// UIAlertView
} else {
// UIAlertController
}
『この辺の処理を隠ぺいする独自のクラスを作ればいいじゃない』というモヒカン話なのですが、当方怠惰を愛するハッカー(笑)なので作りたくないです。
なので、私はRMUniversalAlertに移住することにしました。
ありがてえ。
使い方
githubのUsageを見れば終わりです。
tapBlock
という所で『○○がタップされたとき』の処理を書いてゆきます。
煩雑になりそうですね。
下記は自分で使った箇所のメモ。
アプリでTwitter連携したい、よくあるかと思います。
で、アカウント一覧をアクションシート上に表示してユーザに選択させるようなヤツが必要になったりしますよね。
Twitterアカウント一覧をシートに表示して選ばせるヤツ
let accountList = "ACAccountのArrayがあると想定"
let accountNameList = (accountList).map { (account) in
account.username
}
RMUniversalAlert.showActionSheetInViewController(self, withTitle: "アカウント認証", message: "twitterアカウントを選択してください", cancelButtonTitle: "キャンセル", destructiveButtonTitle: nil, otherButtonTitles: accountNameList, tapBlock: {(alert, buttonIndex) in
if (buttonIndex >= alert.firstOtherButtonIndex) {
let index = buttonIndex - alert.firstOtherButtonIndex
let selectedAccount = accountList[index]
AwesomeMode.instance.loginBy(selectedAccount)
}
})
キャンセルとかは一切使わないのでtapBlock
ではアカウントが選択されたときの処理だけを書いてます。
で、アカウントのリストは人によって変化するので、タップされたときにindex
を出してあげてaccountList
から対象のACAccount
インスタンスを取ってきて何かしらの処理をするようにしました。