iOSで様々なクラスを継承して便利にしてみよう
のえる
2017.05.29
どうも、のえるです。
最近暑い日が続いてますが、もう夏バテになっていたりする人もいるのでしょうか?
今回は、iOSに存在する様々なクラスを継承してちょっと便利にしてみましょう。
クラスの継承をすると、いろんなことができるようになります。
UIImageを継承してBase64文字列を取得する
まずは、UIImageをBase64文字列に変換する方法です。
よくアプリ・サーバー間で連携する際には、Base64などを使用することも多いかと思います。
新規ファイルを作成し、継承に「UIImage」を指定、その後はメソッドを追加していきます。
ファイル名:UIImageExtension.swift
1 2 3 4 5 6 7 8 9 10 |
import UIKit extension UIImage { // Base64文字列化 func base64() -> String { let imageData: Data = UIImagePNGRepresentation(self)! let imageBase64: String = imageData.base64EncodedString(options: []) return imageBase64 } } |
はい、たったこれだけです。
コレの使い方は簡単、UIImageオブジェクトのインスタンスメソッドとして使用すればOKです
使い方
1 2 3 |
let image = UIImage() let str = image.base64() print(str) |
ね、簡単でしょ??
あとはサーバーへ文字データを送れば、サーバー側で画像の復元が可能になる、というわけです。
Stringクラスを継承して、trimするメソッドを追加
次は文字列前後にある不要な空白や改行を削除するメソッドを追加します。
やり方はUIImageのときと同じです。
ファイル名:UIImageExtension.swift
1 2 3 4 5 6 7 8 |
import UIKit extension String { // 文字列トリム func trim() -> String { return self.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines) } } |
使い方
1 2 3 |
let str1 = " 吾輩は猫である、名前はタマ " let str2 = str1.trim() print(str2) // "吾輩は猫である、名前はタマ" |
いかがでしたか?
こんな感じで色々なメソッドを追加していくと、便利になっていきます。
また、他のプロジェクトへの移動も比較的スムーズになるかと思います。
よかったら使ってみてくださいね!!
ではではっ!
- おすすめ記事
-
-
のえる2016.05.19
-
お手軽!iOSのカレンダーにイベントを追加する方法
のえる2017.02.24 -
iPhoneでファイルダウンロードの際に嵌った話
のえる2016.10.31
-
POPULAR
のえる
Full-stack Developer