Notice
Recent Posts
Recent Comments
Link
투케이2K
56. (TWOK/UTIL) [Ios/Objc] S_Extension - String , Int 등 데이터 타입 extension 정의 파일 본문
투케이2K 유틸파일
56. (TWOK/UTIL) [Ios/Objc] S_Extension - String , Int 등 데이터 타입 extension 정의 파일
투케이2K 2022. 6. 23. 16:14[설 명]
프로그램 : Ios / Objective-C
설 명 : S_Extension - String , Int 등 데이터 타입 extension 정의 파일
[소스 코드]
import Foundation
import UIKit
import SafariServices
import AVFoundation
// MARK: - [클래스 설명]
/*
// -----------------------------------------
1. Extension 관련 정의 파일
// -----------------------------------------
*/
// MARK: - [Objective C 소스 코드에서 호출 방법]
/*
// -----------------------------------------
1. import 선언 실시 : 프로젝트이름-Swift.h 명시 (#import "objectiveProject-Swift.h")
// -----------------------------------------
*/
// MARK: - [extension 정의 실시 : String]
@objc class String_Ext: NSObject {
// [클래스 싱글톤 생성 실시]
@objc static let shared = String_Ext()
// [두 문자열이 같은지 확인 실시]
@objc func equals (_oneString : String, _twoString : String) -> Bool {
/*
// -----------------------------------------
[equals 설명]
// -----------------------------------------
1. 두 문자열이 같은지 확인 실시
// -----------------------------------------
2. 호출 방법 :
NSString *oneStr = @"hello";
NSString *twoStr = @"HELLO";
NSString *threeStr = @"hello";
bool equals_1 = [[String_Ext shared] equalsWith_oneString:oneStr _twoString:twoStr];
bool equals_2 = [[String_Ext shared] equalsWith_oneString:oneStr _twoString:threeStr];
printf("\n");
printf("==================================== \n");
printf("[equals_1 :: %d] \n", equals_1);
printf("[equals_2 :: %d] \n", equals_2);
printf("==================================== \n");
printf("\n");
// -----------------------------------------
3. 리턴 데이터 : 두 문자열이 같을 경우 true / 아닌 경우 false
// -----------------------------------------
*/
// 인풋으로 들어온 파라미터 데이터와 타입이 일치하는 경우
if(_oneString == _twoString){
return true
}
else {
return false
}
}
// [문자열 중 특정 번지 문자 확인 실시]
@objc func charAt (_string : String, _index : Int) -> String {
/*
// -----------------------------------------
[charAt 설명]
// -----------------------------------------
1. 문자열 중 특정 번지 문자 확인 실시
// -----------------------------------------
2. 호출 방법 :
NSString *oneStr = @"hello";
NSString *index_0 = [[String_Ext shared] charAt_string:oneStr _index:0];
NSString *index_1 = [[String_Ext shared] charAt_string:oneStr _index:1];
printf("\n");
printf("==================================== \n");
printf("[oneStr :: %s] \n", oneStr.description.UTF8String);
printf("[index_0 :: %s] \n", index_0.description.UTF8String);
printf("[index_1 :: %s] \n", index_1.description.UTF8String);
printf("==================================== \n");
printf("\n");
// -----------------------------------------
3. 리턴 데이터 :
- 해당 번지에 맞는 문자 반환 실시
- let data = "hello투케이" >> data.charAt(_index: 0) >> h
// -----------------------------------------
*/
let charIndex = _string.index(_string.startIndex, offsetBy: _index)
return String(describing: _string[charIndex])
}
// [문자열 중 부분 문자열 출력 실시]
@objc func subString (_string : String, _start : Int, _end : Int) -> String {
/*
// -----------------------------------------
[subString 설명]
// -----------------------------------------
1. 문자열 중 부분 문자열 출력 실시
// -----------------------------------------
2. 호출 방법 :
NSString *oneStr = @"hello투케이";
NSString *subString = [[String_Ext shared] subStringWith_string:oneStr _start:0 _end:4];
printf("\n");
printf("==================================== \n");
printf("[oneStr :: %s] \n", oneStr.description.UTF8String);
printf("[subString :: %s] \n", subString.description.UTF8String);
printf("==================================== \n");
printf("\n");
// -----------------------------------------
3. 리턴 데이터 :
- 시작 ~ 종료까지 부분 문자열 리턴
- let data = "hello투케이" >> data.subString(_start: 0, _end: 4) >> hello
// -----------------------------------------
*/
let startIndex = _string.index(_string.startIndex, offsetBy: _start)
let endIndex = _string.index(_string.startIndex, offsetBy: _end)
// [시작 ~ 종료까지 부분 문자열 리턴]
return String(_string[startIndex...endIndex])
}
// [문자열에서 양쪽 끝 공백 제거 실시]
@objc func trim (_string : String) -> String {
/*
// -----------------------------------------
[trim 설명]
// -----------------------------------------
1. 문자열에서 양쪽 끝 공백 제거 실시
// -----------------------------------------
2. 호출 방법 :
NSString *oneStr = @" hello투케이 ";
NSString *trimString = [[String_Ext shared] trimWith_string:oneStr];
printf("\n");
printf("==================================== \n");
printf("[oneStr :: %s] \n", oneStr.description.UTF8String);
printf("[trimString :: %s] \n", trimString.description.UTF8String);
printf("==================================== \n");
printf("\n");
// -----------------------------------------
3. 리턴 데이터 : 문자열에서 양쪽 끝 공백 제거 된 문자열 리턴
// -----------------------------------------
*/
// [시작, 끝 양쪽 공백 제거 실시]
return _string.trimmingCharacters(in: .whitespacesAndNewlines)
}
// [문자열에서 지정한 문자로 모두 변경을 수행합니다]
@objc func replaceAll (_orginal : String, _search : String, _replace : String) -> String { // 문자열 변경 실시
/*
// -----------------------------------------
[replaceAll 설명]
// -----------------------------------------
1. 문자열에서 지정한 문자로 모두 변경을 수행합니다
// -----------------------------------------
2. 호출 방법 :
NSString *oneStr = @" h e l l o 투케이 ";
NSString *replaceString = [[String_Ext shared] replaceAllWith_orginal:oneStr _search:@" " _replace:@""];
printf("\n");
printf("==================================== \n");
printf("[oneStr :: %s] \n", oneStr.description.UTF8String);
printf("[replaceString :: %s] \n", replaceString.description.UTF8String);
printf("==================================== \n");
printf("\n");
// -----------------------------------------
3. 리턴 데이터 : 문자열에서 지정한 문자로 모두 변경을 수행합니다
// -----------------------------------------
*/
// [특정 문자로 변경 후 리턴 실시]
return _orginal.replacingOccurrences(of: _search, with: _replace)
}
}
// MARK: - [extension 정의 실시 : Int]
@objc class Int_Ext: NSObject {
// [클래스 싱글톤 생성 실시]
@objc static let shared = Int_Ext()
// [정수 값 짝수 여부 확인 실시]
@objc func isEven (_intData : Int) -> Bool {
/*
// -----------------------------------------
[isEven 설명]
// -----------------------------------------
1. 정수 값 짝수 여부 확인 실시
// -----------------------------------------
2. 호출 방법 :
int *one = 10;
int *two = 11;
int even_1 = [[Int_Ext shared] isEvenWith_intData:one];
int even_2 = [[Int_Ext shared] isEvenWith_intData:two];
printf("\n");
printf("==================================== \n");
printf("[even_1 :: %d] \n", even_1);
printf("[even_2 :: %d] \n", even_2);
printf("==================================== \n");
printf("\n");
// -----------------------------------------
3. 리턴 데이터 : 짝수일 경우 true / 아닌 경우 false
// -----------------------------------------
*/
// [리턴 데이터 반환]
return _intData % 2 == 0
}
// [정수 값 홀수 여부 확인 실시]
@objc func isOdd (_intData : Int) -> Bool {
/*
// -----------------------------------------
[isOdd 설명]
// -----------------------------------------
1. 정수 값 짝수 여부 확인 실시
// -----------------------------------------
2. 호출 방법 :
int *one = 10;
int *two = 11;
int odd_1 = [[Int_Ext shared] isOddWith_intData:one];
int odd_2 = [[Int_Ext shared] isOddWith_intData:two];
printf("\n");
printf("==================================== \n");
printf("[even_1 :: %d] \n", odd_1);
printf("[even_2 :: %d] \n", odd_2);
printf("==================================== \n");
printf("\n");
// -----------------------------------------
3. 리턴 데이터 : 홀수일 경우 true / 아닌 경우 false
// -----------------------------------------
*/
// [리턴 데이터 반환]
return _intData % 2 == 1
}
}
반응형
'투케이2K 유틸파일' 카테고리의 다른 글
Comments