BLOG

Blitz Gateスタッフブログ

BLOG

iOSで様々なクラスを継承して便利にしてみよう

書いた人:

iOS , Swift , 開発言語  

tumiki_gear

どうも、ゆんゆんです。

 

最近暑い日が続いてますが、もう夏バテになっていたりする人もいるのでしょうか?

 

今回は、iOSに存在する様々なクラスを継承してちょっと便利にしてみましょう。
クラスの継承をすると、いろんなことができるようになります。

 

UIImageを継承してBase64文字列を取得する

 

まずは、UIImageをBase64文字列に変換する方法です。
よくアプリ・サーバー間で連携する際には、Base64などを使用することも多いかと思います。

 

新規ファイルを作成し、継承に「UIImage」を指定、その後はメソッドを追加していきます。

 

ファイル名:UIImageExtension.swift

 

import UIKit

extension UIImage {
	// Base64文字列化
	func base64() -> String
	{
		let imageData: Data = UIImagePNGRepresentation(self)!
		let imageBase64: String = imageData.base64EncodedString(options: [])
		
		return imageBase64
	}
}	

 

はい、たったこれだけです。
コレの使い方は簡単、UIImageオブジェクトのインスタンスメソッドとして使用すればOKです

 

使い方

let image = UIImage()
let str = image.base64()
print(str)

 

ね、簡単でしょ??
あとはサーバーへ文字データを送れば、サーバー側で画像の復元が可能になる、というわけです。

Stringクラスを継承して、trimするメソッドを追加

 

次は文字列前後にある不要な空白や改行を削除するメソッドを追加します。
やり方はUIImageのときと同じです。

 

ファイル名:UIImageExtension.swift

 

import UIKit

extension String {
	// 文字列トリム
	func trim() -> String
	{
		return self.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines)
	}
}

 

使い方

let str1 = "   吾輩は猫である、名前はタマ   "
let str2 = str1.trim()
print(str2)   // "吾輩は猫である、名前はタマ"

 

いかがでしたか?
こんな感じで色々なメソッドを追加していくと、便利になっていきます。
また、他のプロジェクトへの移動も比較的スムーズになるかと思います。

 

よかったら使ってみてくださいね!!

 

ではではっ!

  • このエントリーをはてなブックマークに追加