
UIColorからNSUInteger(16進数)に変換する方法

どうも、のえるです。
最近暑い日が続いてますが、もう夏バテになっていたりする人もいるのでしょうか?
今回は、iOSに存在する様々なクラスを継承してちょっと便利にしてみましょう。
クラスの継承をすると、いろんなことができるようになります。
まずは、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) |
ね、簡単でしょ??
あとはサーバーへ文字データを送れば、サーバー側で画像の復元が可能になる、というわけです。
次は文字列前後にある不要な空白や改行を削除するメソッドを追加します。
やり方は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) // "吾輩は猫である、名前はタマ" |
いかがでしたか?
こんな感じで色々なメソッドを追加していくと、便利になっていきます。
また、他のプロジェクトへの移動も比較的スムーズになるかと思います。
よかったら使ってみてくださいね!!
ではではっ!
POPULAR
のえる
Full-stack Developer
人気記事