투케이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
    }
}

 

반응형
Comments