투케이2K

183. (ios/swift) actionSheet 사용해 array 배열 목록 표시 list alert 리스트 팝업창 만들기 본문

IOS

183. (ios/swift) actionSheet 사용해 array 배열 목록 표시 list alert 리스트 팝업창 만들기

투케이2K 2022. 9. 8. 08:30
반응형

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT

 

[소스 코드]

    // MARK: - [테스트 함수 정의]
    func testMain() {
        print("")
        print("===============================")
        print("[ViewController >> testMain() :: 테스트 함수 수행]")
        print("===============================")
        print("")
        
        // [메인 큐에서 비동기 방식 실행 : UI 동작 실시]
        DispatchQueue.main.async {
            
            
            // [초기 변수 선언 실시]
            var array = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20"]
            
            
            // [UIAlertController 객체 정의 실시]
            let alert = UIAlertController(
                title: "아래의 목록 중 하나를 선택해주세요" + "\n",
                message: nil,
                preferredStyle: UIAlertController.Style.actionSheet
            )
            
            
            // [for 문을 돌면서 배열 데이터를 목록으로 만듦]
            for i in stride(from: 0, through: array.count-1, by: 1) {
                // [취소 버튼 등록 실시]
                let action = UIAlertAction(title: String(describing: array[i]), style: .destructive) { (action) in
                    print("")
                    print("===============================")
                    print("[ViewController >> testMain() :: 목록 클릭 이벤트 확인]")
                    print("[index :: \(i)]")
                    print("===============================")
                    print("")
                    
                    // [버튼 클릭 이벤트 내용 정의 실시]
                    return
                }
                // [버튼 클릭 이벤트 객체 연결]
                alert.addAction(action)
            }
            
            
            // [취소 버튼 등록 실시]
            let noAction = UIAlertAction(title: "취소", style: .cancel) { (action) in
                // [취소 버튼 클릭 이벤트 내용 정의 실시]
                return
            }
            // [버튼 클릭 이벤트 객체 연결]
            alert.addAction(noAction)
            
            
            // [alert 팝업창 활성 실시]
            self.present(alert, animated: false, completion: nil)
        }
        
    }
 

[결과 출력]


반응형
Comments