본문 바로가기

ios 앱개발

xcode에서 swift를 이용하여 tableView에서 alert기능(팝업메시지) 구현하기

반응형

맥북에서 작성하다가 다시 윈도우에서 작성할려구 하니깐 어렵네요.

 

우선 settinTableController에 

 

var settingItems = ["충전하기", "출석체크", "푸시알림"]

var settingItemsImageFile = ["test1.jpeg", "test2.jpeg", "test3.jpeg"]

 

이러한 배열을 만들어 줍니다.

 

그 다음단계로는 detail view를 표시할 UIControllerView를 만들고 table cell과 세그웨이로 연결을 한 후

해당 identifier에 settingDetail이라 지정합니다.

 

 

그 다음 단계입니다.

이번 코드는 alert를 구현하는 코드입니다.

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        // Get the new view controller using segue.destination.
        // Pass the selected object to the new view controller.
        if segue.identifier == "settingDetail" {
            let cell = sender as! UITableViewCell
            let indexPath = self.settingListView.indexPath(for: cell)
            let detailView = segue.destination as! DetailSettingViewController
            detailView.receiveItem(settingItems[((indexPath! as NSIndexPath).row)])
            
            if(detailView.receiveItem == "출석체크"){
                let attend = UIAlertController(title: "출석하기", message: "attend?", preferredStyle: UIAlertController.Style.alert)
                
                let yAction = UIAlertAction(title: "y", style: UIAlertAction.Style.default, handler: nil)
                
                let nAction = UIAlertAction(title: "n", style: UIAlertAction.Style.default, handler: nil)
                
                attend.addAction(yAction)
                attend.addAction(nAction)
                
                present(attend, animated: true, completion: nil)
            }
        }
    }

 

 

detailSettingViewController에서의 코드로 alert와는 상관이 없지만 개인적으로 기록할려구 적습니다.

이 코드를 이용하기 위해서는 우선 navigation bar를 만들고 detailSettingViewController에 연결하여 사용합니다.

* 예시 사진입니다.

 

이를 이용하면 상단 toolbar에 table view에서 선택한 항목이 title에 표시됩니다. 

후에 해당코드에 원하는 값을 연결해줍니다.

 

override func viewDidLoad() {
        super.viewDidLoad()
        
        DetailSettingTitle.title = receiveItem
        
        // Do any additional setup after loading the view.
    }
    
    func receiveItem(_ item: String)
    {
        receiveItem = item
    }

 

결과

원래 ios 개발과정을 이정도로 구체적으로 쓸 생각은 없었는데

그러면 요즘 글을 쓸게 없을 것 같아서 최대한 구체적으로 적어봤습니다.

근데 쓰면서 다시 보니깐 좀 부족해보이네요.

 

다음 글은 조금 더 자세히 써보도록 노력해볼게요.

 

맥북키보드에서 윈도우키보드로 넘어가니깐 글 쓰는게 너무 힘드네요.

 

반응형