Notice
Recent Posts
Recent Comments
Link
투케이2K
34. (Objective-C/objc) Objective C 소스 코드에서 Swift 소스 코드 사용 방법 본문
[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : OBJECTIVE-C
[방법 설명]
[Objective C : 소스 코드]
#import "ViewController.h"
// MARK: - [프로젝트-Swift.h import 명시]
#import "objectiveProject-Swift.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
// MARK: [Swift set 함수 호출 수행 실시]
[[S_Preference shared] setStringWith_sKey:@"S_KEY" _sValue:@"S_VALUE"];
// MARK: [Swift get 함수 호출 수행 실시]
NSString *saveData = [[S_Preference shared] getStringWith_sKey:@"S_KEY"];
printf("\n");
printf("==================================== \n");
printf("[saveData :: %s] \n", saveData.description.UTF8String);
printf("==================================== \n");
printf("\n");
// MARK: [상수 데이터 관리 클래스에서 데이터 호출 실시]
NSString *finalData = [S_FinalData WV_LOAD_MAIN_ENZ_URL];
printf("\n");
printf("==================================== \n");
printf("[finalData :: %s] \n", finalData.description.UTF8String);
printf("==================================== \n");
printf("\n");
}
@end
[Swift : 소스 코드]
import Foundation
@objc class S_Preference: NSObject {
// MARK: - [클래스 설명]
/*
// -----------------------------------------
1. UserDefaults 사용해 모바일 데이터 저장 클래스
// -----------------------------------------
2. UserDefaults : Key-Value 형태를 저장
// -----------------------------------------
3. UserDefaults : 앱이 종료되어도 값이 저장되지만, 앱이 삭제되면 저장된 데이터가 사라짐
// -----------------------------------------
4. UserDefaults : Int, Double, Float, String, Bool, Data 등 데이터 타입을 저장 실시
// -----------------------------------------
5. 참고 : 앱이 삭제되어도 데이터가 유지되길 원한다면 Core Data 혹은 KeyChain, NSKeyedArchiever등을 이용한 파일 형태로 저장하는 방법이 있습니다
// -----------------------------------------
*/
// MARK: - [빠른 로직 찾기 : 주석 로직 찾기]
// -----------------------------------------
// [SEARCH FAST] : []
// -----------------------------------------
// MARK: - [클래스 이름 설정]
let ACTIVITY_NAME = "S_Preference"
// MARK: - [클래스 싱글톤 설정 실시]
@objc static let shared = S_Preference()
// MARK: - [string 데이터 저장 실시]
// [호출 방법 : S_Preference().setString(_sKey: "name", _sValue: "TWOK")]
@objc func setString(_sKey:String, _sValue:String) {
UserDefaults.standard.set(_sValue, forKey: _sKey)
UserDefaults.standard.synchronize() // 동기화 실시
// 전체 key 데이터에 저장 실시
var allData = UserDefaults.standard.string(forKey: "selectAllTwoK") ?? ""
if allData.contains(_sKey) == false {
allData = allData + " [\(_sKey)] "
UserDefaults.standard.set(allData, forKey: "selectAllTwoK")
UserDefaults.standard.synchronize() // 동기화 실시
}
}
// MARK: - [string 데이터 호출 실시]
// [호출 방법 : S_Preference().getString(_sKey: "name")]
@objc func getString(_sKey:String) -> String {
let returnData = UserDefaults.standard.string(forKey: _sKey) ?? ""
return returnData
}
} // [클래스 종료]
[Swift : 소스 코드]
import Foundation
@objc class S_FinalData: NSObject {
// MARK: - [클래스 설명]
/*
// -----------------------------------------
1. 상수 데이터 관리 클래스
// -----------------------------------------
*/
// MARK: - [클래스 싱글톤 설정 실시]
@objc static let shared = S_FinalData()
// MARK: - [모바일 웹뷰 주소 로드 정의 실시]
@objc static let WV_LOAD_MAIN_ENZ_URL = "https://www.naver.com" // [메인 : 운영 주소]
@objc static let WV_LOAD_MAIN_DEV_URL = "https://www.google.com" // [메인 : 개발 주소]
@objc static let WV_LOAD_NAVER_URL = "https://www.naver.com" // [내부 링크 : 네이버]
} // [클래스 종료]
[결과 출력]
반응형
'Objective-C' 카테고리의 다른 글
Comments