[Swift] static을 조사해도 눈에 띄지 않기 때문에 스스로 정리한 [정적 변수/정적 방법]

8986 단어 iOSSwiftXcodetech

static은 언제 썼어요?


우선 정적 변수를 쓰세요.
static var은 정적 변수라고 하며 모든 프로그램이 끝날 때까지 이 값을 유지하는 변수입니다
이 비유는 매우 우수하기 때문에 직접 인용한다.
예를 들어 라면집 티켓 발견 시스템.
모든 주문 수량을 하루의 마지막 합계로 그 손님의 주문 수량(몇 접시 등)을 계산한다.
static(정적)과 동적 변수의 행위에서 차이를 배워라.
class noodle {
    
    //本日のオーダー数
    static var order = 0
    
    //お客が替え玉した時の皿の数
    var sara = 0
    
    
    //売上をカウントしていく
    func uriage() {
        
        noodle.order += 1
        print("本日\(noodle.order)杯目の注文が入りました。")
    }
    
    
    //お客ごとの替え玉数をカウント
    func kaedama() {
        
        sara += 1
        print("替え玉を\(sara)回したので皿は\(sara)枚です。")
    }
}
그리고 이렇게 부르면 어떨까.
var okyakusan_1 = noodle()
okyakusan_1.uriage()
// ▶ 本日1杯目の注文が入りました。

okyakusan_1.kaedama()
// ▶︎ 替え玉を1回したので皿は1枚です。

두 번째는 다음과 같다.
var okyakusan_2 = noodle()
okyakusan_2.uriage()
// ▶ 本日1杯目の注文が入りました。

okyakusan_2.kaedama()
// ▶︎ 替え玉を2回したので皿は2枚です。

즉, 초기화 클래스(noodle 클래스)를 통해 실례를 생성하더라도
인스턴스를 다시 생성할 수 없는 변수라고 할 수 있습니다.
더 자세히 말하면 다음과 같은 참고할 만한 성질이 있다.
print(noodle.sara) // インスタンスがないので不可
print(noodle().sara) // インスタンス生成すればOK  // 結果:0

静的変数はインスタンスを生成する必要がなく、参照できる。
print(noodle.order) // 結果:0

참조:정적 변수


https://fuuno.net/swift/static/static.html

정적 방법에 관하여


static도 방법에 추가할 수 있습니다.
class noodle {

    func getResponce(isSuccess: Bool) ->  String{
        if (isSuccess) {
            return "Success"
        } else {
            return "Failed"
        }
    }
    
    static func getResponceStaticMethod(isSuccess: Bool) ->  String{
        if (isSuccess) {
            return "Success"
        } else {
            return "Failed"
        }
    }
}
static을 사용하는 방법은 있지만 다음과 같은 행위가 다르다.
noodle().getResponce(isSuccess: true)
noodle.getResponceStaticMethod(isSuccess: true)
noodle 클래스의 실례를 생성하지 않아도 값을 호출하고 되돌릴 수 있습니다.

좋은 웹페이지 즐겨찾기