Notice
Recent Posts
Recent Comments
Link
투케이2K
51. (swift/xcode) lazy (래지) 변수 선언 및 데이터 출력 수행 실시 본문
[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : SWIFT
[S_LazyClass 클래스]
import Foundation
class S_LazyClass {
// MARK: - [클래스 설명]
/*
// -----------------------------------------
1. Lazy 변수 관리 클래스
// -----------------------------------------
*/
// MARK: - [Lazy 변수 설명]
/*
// -----------------------------------------
1. lazy 변수 : 메모리 관리에 필요한 변수 이며, 호출 되기 전까지 연산되지 않습니다
2. lazy 변수를 사용하므로써 사용자는 불필요한 메모리 할당과 실행을 방지할 수 있습니다
3. lazy 변수는 var 키워드와 함께 사용됩니다 (let 과 사용 안됨)
4. lazy 변수는 struct (구조체) 나 class (클래스) 의 멤버로만 사용 가능합니다
5. lazy 변수는 처음 사용될 때 메모리에 값을 올리고 그 이후 부터는 계속해서 메모리에 올라온 값을 사용합니다
- lazy 변수는 처음 값을 계속 유지합니다 ()
// -----------------------------------------
*/
// MARK: - [전역 변수 선언 실시]
var name:String = ""
var age:Int = 0
// MARK: - [클래스 생성자 초기화 : init]
init(name:String, age:Int){
self.name = name // [전역 변수에 값 매핑]
self.age = age // [전역 변수에 값 매핑]
}
// MARK: - [lazy 변수 선언 및 리턴 형식 정의]
lazy var userInfo:String = {
// [포맷 String 리턴 실시]
return "name : \(self.name) , age : \(self.age))"
}()
} // MARK: [클래스 종료]
[testMain 함수]
func testMain(){
print("")
print("===============================")
print("[ViewController >> testMain() :: 테스트 함수 수행 실시]")
print("===============================")
print("")
// MARK: [lazy 선언 클래스 호출 및 데이터 최초 삽입 실시]
var lazyClass_1 = S_LazyClass(name: "투케이", age: 29)
print("")
print("===============================")
print("[lazyClass_1 [사용자 정보] :: \(lazyClass_1.userInfo)]")
print("===============================")
print("")
// MARK: [처음 값 출력 : 전역 변수 값 변경 후 >> 다시 lazy 변수 출력]
lazyClass_1.name = "투케이TWOK"
lazyClass_1.age = 0
print("")
print("===============================")
print("[lazyClass_1 [사용자 정보] :: \(lazyClass_1.userInfo)]")
print("===============================")
print("")
// MARK: [변경 값 출력 : 클래스 초기화 재수행 >> 다시 lazy 변수 출력]
var lazyClass_2 = S_LazyClass(name: "TWOK", age: 30)
print("")
print("===============================")
print("[lazyClass_2 [사용자 정보] :: \(lazyClass_2.userInfo)]")
print("===============================")
print("")
}
[결과 출력]
반응형
'Swift' 카테고리의 다른 글
Comments