반응형
ViewController Class에서 UIButton의 Text를 가져와 사용해 보도록 하겠습니다.
간단하게 될 줄 알았는데 값을 불러오지 못해 한참 헤맸네요..
일단 @IBOulet이나 @IBAction으로 버튼을 연결하는데 @IBAction에서 처리하는 예제를 해보겠습니다.
다음 예제를 보면 Button의 Textsms 5입니다.
그러면 sender로 Button이 무엇인지 받아오고 여기의 title에 접근하는데 .title(for: .normal)로 접근합니다.
for: 뒤에 다른 것들은 상황에 따라 다른 값인듯 한데 아무것도 안했을때 기본은 .normal임으로 해당 값을 사용합니다.
@IBAction func fiveClick(_ sender: UIButton) {
// sender.title(for: .normal)로 값을 가져올 수 있다.
guard let numberValue = sender.title(for: .normal) else { return }
// numberValue는 "5"가 됩니다.
}
그런데 여기서 값을 제대로 가져오지 못하는 문제가 발생합니다. sender를 print해봐도 정상적으로 버튼이 있는데 text 부분이 이상합니다.
그래서 알아본 결과 UIButton의 Style을 Plain에서 Default로 바꿔주게 된다면 값을 정상적으로 받아올 수 있습니다.
요약
1. .title(for : .normal)로 받아오자
2. style을 확인해 Default로 바꿔주자
반응형
'iOS > UIKit' 카테고리의 다른 글
[IOS] UIBarButton 커스텀 (0) | 2022.02.03 |
---|---|
[IOS] UITableView (UITableViewDataSource, UITableViewDelegate) (0) | 2022.02.03 |
[IOS] @IBDesignable , @IBInspectable (0) | 2022.02.01 |
[IOS] 화면(ViewController)간 데이터 주고 받기 2 상위->하위 (0) | 2022.01.31 |
[IOS] 화면(ViewController)간 데이터 주고 받기 1 하위->상위 (0) | 2022.01.31 |