Notice
Recent Posts
Recent Comments
Link
투케이2K
26. (TWOK/UTIL) [Ios/Swift] S_Extension - String , Int , UIDevice , Date 등 데이터 타입 extension 정의 파일 본문
투케이2K 유틸파일
26. (TWOK/UTIL) [Ios/Swift] S_Extension - String , Int , UIDevice , Date 등 데이터 타입 extension 정의 파일
투케이2K 2022. 3. 27. 19:31[설 명]
프로그램 : Ios / Swift
설 명 : String , Int , UIDevice , Date 등 데이터 타입 extension 정의 파일
[소스 코드]
import Foundation
import UIKit
import SafariServices
import AVFoundation
// MARK: - [클래스 설명]
/*
// -----------------------------------------
1. Extension 관련 정의 파일
// -----------------------------------------
*/
// MARK: - [전역 변수 선언 실시]
// MARK: - [extension 정의 실시 : UIDevice]
extension UIDevice {
static func sound() {
/*
// -----------------------------------------
[sound 메소드 설명]
// -----------------------------------------
1. 디바이스 사운드 재생 메소드 : 무음 모드일 경우도 소리 재생됨
// -----------------------------------------
2. 필요 import : import AVFoundation
// -----------------------------------------
3. 호출 방법 : UIDevice.sound()
// -----------------------------------------
*/
//AudioServicesPlaySystemSound(SystemSoundID(1003)) // SMSReceived [ReceivedMessage.caf]
//AudioServicesPlaySystemSound(SystemSoundID(1004)) // SMSReceived [SentMessage.caf]
//AudioServicesPlaySystemSound(SystemSoundID(1016)) // SMSSent [tweet_sent.caf]
AudioServicesPlaySystemSound(SystemSoundID(1307)) // SMSReceived_Selection [sms-received1.caf]
}
static func vibrate() {
/*
// -----------------------------------------
[sound 메소드 설명]
// -----------------------------------------
1. 디바이스 진동 기능 수행 메소드
// -----------------------------------------
2. 필요 import : import AVFoundation
// -----------------------------------------
3. 호출 방법 : UIDevice.vibrate()
// -----------------------------------------
*/
// -----------------------------------------
//AudioServicesPlaySystemSound(kSystemSoundID_Vibrate) // 전화 진동
AudioServicesPlayAlertSound(SystemSoundID(kSystemSoundID_Vibrate))
// -----------------------------------------
let tapticFeedback = UINotificationFeedbackGenerator() // 햅틱 진동
tapticFeedback.notificationOccurred(.success)
// -----------------------------------------
//let tapticFeedback = UIImpactFeedbackGenerator(style: .heavy)
//tapticFeedback.impactOccurred()
// -----------------------------------------
}
}
// MARK: - [extension 정의 실시 : Data]
extension Data {
}
// MARK: - [extension 정의 실시 : 뷰 컨트롤러]
extension UIViewController {
}
// MARK: - [extension 정의 실시 : Int]
extension Int {
var isEven : Bool {
/*
// -----------------------------------------
[isEven 설명]
// -----------------------------------------
1. 정수 값 짝수 여부 확인 실시
// -----------------------------------------
2. 호출 방법 : intData.isEven
// -----------------------------------------
3. 리턴 데이터 : 짝수일 경우 true / 아닌 경우 false
// -----------------------------------------
*/
// [리턴 데이터 반환]
return self % 2 == 0
}
var isOdd : Bool {
/*
// -----------------------------------------
[isOdd 설명]
// -----------------------------------------
1. 정수 값 홀수 여부 확인 실시
// -----------------------------------------
2. 호출 방법 : intData.isOdd
// -----------------------------------------
3. 리턴 데이터 : 홀수일 경우 true / 아닌 경우 false
// -----------------------------------------
*/
// [리턴 데이터 반환]
return self % 2 == 1
}
}
// MARK: - [extension 정의 실시 : String]
extension String {
func equals (_string : String) -> Bool {
/*
// -----------------------------------------
[equals 설명]
// -----------------------------------------
1. 두 문자열이 같은지 확인 실시
// -----------------------------------------
2. 호출 방법 : str_one.equals(_string: str_two)
// -----------------------------------------
3. 리턴 데이터 : 두 문자열이 같을 경우 true / 아닌 경우 false
// -----------------------------------------
*/
// 인풋으로 들어온 파라미터 데이터와 타입이 일치하는 경우
if(self == _string){
return true
}
else {
return false
}
}
func charAt (_index : Int) -> Character {
/*
// -----------------------------------------
[charAt 설명]
// -----------------------------------------
1. 문자열 중 특정 번지 문자 확인 실시
// -----------------------------------------
2. 호출 방법 : str_one.charAt(_index: 0)
// -----------------------------------------
3. 리턴 데이터 :
- 해당 번지에 맞는 문자 반환 실시
- let data = "hello투케이" >> data.charAt(_index: 0) >> h
// -----------------------------------------
*/
let charIndex = self.index(self.startIndex, offsetBy: _index)
return self[charIndex]
}
func subString (_start : Int, _end : Int) -> String {
/*
// -----------------------------------------
[subString 설명]
// -----------------------------------------
1. 문자열 중 부분 문자열 출력 실시
// -----------------------------------------
2. 호출 방법 : str_one.subString(_start : 0, _end : 4)
// -----------------------------------------
3. 리턴 데이터 :
- 시작 ~ 종료까지 부분 문자열 리턴
- let data = "hello투케이" >> data.subString(_start: 0, _end: 4) >> hello
// -----------------------------------------
*/
let startIndex = self.index(self.startIndex, offsetBy: _start)
let endIndex = self.index(self.startIndex, offsetBy: _end)
// [시작 ~ 종료까지 부분 문자열 리턴]
return String(self[startIndex...endIndex])
}
func trim () -> String {
/*
// -----------------------------------------
[trim 설명]
// -----------------------------------------
1. 문자열에서 양쪽 끝 공백 제거 실시
// -----------------------------------------
2. 호출 방법 : str_one.trim()
// -----------------------------------------
3. 리턴 데이터 : 문자열에서 양쪽 끝 공백 제거 된 문자열 리턴
// -----------------------------------------
*/
// [시작, 끝 양쪽 공백 제거 실시]
return self.trimmingCharacters(in: .whitespacesAndNewlines)
}
func replaceAll (_string : String, _replace : String) -> String { // 문자열 변경 실시
/*
// -----------------------------------------
[replaceAll 설명]
// -----------------------------------------
1. 문자열에서 지정한 문자로 모두 변경을 수행합니다
// -----------------------------------------
2. 호출 방법 : str_one.replaceAll(_string: "a", _replace: "A")
// -----------------------------------------
3. 리턴 데이터 : 문자열에서 지정한 문자로 모두 변경을 수행합니다
// -----------------------------------------
*/
// [특정 문자로 변경 후 리턴 실시]
return self.replacingOccurrences(of: _string, with: _replace)
}
}
// MARK: - [extension 정의 실시 : UIColor]
extension UIColor {
convenience init(rgb: Int) {
/*
// -----------------------------------------
[UIColor.init 설명]
// -----------------------------------------
1. 지정한 헥사 값으로 색상을 표현합니다
// -----------------------------------------
2. 호출 방법 : UIColor.init(rgb: 0x00ff00).withAlphaComponent(1.0)
// -----------------------------------------
*/
self.init(
red: (rgb >> 16) & 0xFF,
green: (rgb >> 8) & 0xFF,
blue: rgb & 0xFF
)
}
convenience init(red: Int, green: Int, blue: Int) {
assert(red >= 0 && red <= 255, "Invalid red component")
assert(green >= 0 && green <= 255, "Invalid green component")
assert(blue >= 0 && blue <= 255, "Invalid blue component")
self.init(red: CGFloat(red) / 255.0, green: CGFloat(green) / 255.0, blue: CGFloat(blue) / 255.0, alpha: 1.0)
}
}
// MARK: [extension 정의 실시 : Date]
extension Date {
}
반응형
'투케이2K 유틸파일' 카테고리의 다른 글
Comments