안녕하세요

프로그램 과정에서 막혔던 문제들에 대한 해결책 정리


페이지 목록

2018년 12월 2일 일요일

Swift segue를 이용한 데이터 전달

performSegue(withIdentifier: "createHabbit", sender: self)

위와 같이 performSegue를 통해 segue를 실행한다.
여러개의 segue가 있음으로 Identifier를 이용해서 수행하는 Segue를 명시한다.

그리고 아래와 같이 preparesegue에 수행할 내용을 적는다.

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        let destViewController = segue.destination as! ViewController
        
        destViewController.labelText = self.sendText
        print(destViewController.habbits.count)
        destViewController.habbits.append(Habbit(ischecked: false, habbitName: sendText))

    }

Swift Toggle Button 사용 방법

@IBAction func checkBoxTapped(_ sender: UIButton){
        /*
        UIView.animate(withDuration: 0.5, delay: 0.1, options: .curveLinear,
                       animations: {
                        sender.transform = CGAffineTransform(scaleX: 0.1, y: 0.1)
                        
        }) {
            (success) in
            sender.isSelected =  !sender.isSelected
            UIView.animate(withDuration: 0.5, delay: 0.1, options: .curveLinear,
                           animations: {
                            sender.transform = .identity
            },completion: nil)
        }
        */
        if sender.isSelected {
            sender.isSelected = false
        } else {
            sender.isSelected = true
        }

    }

위와 같이 sender 의 isSelected 를 사용해서 토글을 할 수 있다.

주석 처리는 애니메이션 효과를 준 것이다.

 위 자료는 유튜브 동영상을 보고 만든 것이다.

출처: https://youtu.be/S6q5d3RvVY8

Swift Error: Editor placeholder in source file

Swift Error: Editor placeholder in source file


 위 에러는 생성한 value나 class에 값이 들어 있지 않을 때 발생한다.