[swift] guard 문을 사용하여 네트워크 연결 상태를 검사할 수 있나요?

다음은 네트워크 연결 상태를 검사하여 처리하는 예제를 보여드리겠습니다.

import Foundation
import SystemConfiguration

func isNetworkAvailable() -> Bool {
    guard let reachability = SCNetworkReachabilityCreateWithName(nil, "www.google.com") else {
        return false
    }
    
    var flags = SCNetworkReachabilityFlags()
    SCNetworkReachabilityGetFlags(reachability, &flags)
    
    let isReachable = flags.contains(.reachable)
    let needsConnection = flags.contains(.connectionRequired)
    
    return (isReachable && !needsConnection)
}

if isNetworkAvailable() {
    print("네트워크에 연결되었습니다.")
} else {
    print("네트워크 연결이 필요합니다.")
}

위의 예제에서는 guard 문을 사용하여 SCNetworkReachabilityCreateWithName 메서드를 통해 reachability 객체를 얻어오고, 오류가 발생하지 않는다면 해당 객체를 사용하여 네트워크 상태를 확인합니다.

더 자세한 정보는 아래 레퍼런스를 참고하시기 바랍니다.