돌아오신 것을 환영합니다
이번 강의에서는 드디어 무엇인가 모양새를 갖추고 앱이 어느정도 완성이 된 모습을 보실 수
있을 것입니다
그럼 이제 시작해보겠습니다
conversion factor(전환 요소)가 있고
그것을 1로 바꿔주었습니다
왜냐하면 0.01 대신에 여기에서도 초기 설정으로 미터를 사용할 것이기 때문입니다
input unit(입력 단위)로 말입니다
output unit(출력 단위)도 마찬가지로 미터여야 합니다
그리고 conversion factor(전환 요소)가 하나 더 필요합니다. 왜냐하면 입력을 위해 하나가 있고 출력을 위해 하나가 있어야
계산을 정확하게 할 수 있기 때문입니다
그러니 이것을 oConversionFactor라고 부르도록 하겠습니다
이것이 저희의 output(출력) conversion factor(전환 요소)가 될 것이고
즉, 오른쪽을 말하는 것입니다
그리고 이것은 input(입력) conversion factor(전환 요소)라고 할 수 있겠습니다
이제 전환 단위 계산들을 확장해야 하는데 그 이유는 저희가 '나누기
oConversionFactor(출력 전환 요소).value(값)'을 계산해야 하기 때문입니다
온점, value(값). 이렇게 적어주시면 됩니다
기본적으로 저희가 할 것은 input value(입력값)
즉 사용자가 입력한 내용을 가지고 왼쪽의 conversion factor(전환 요소)를 가지고
100으로 곱한 다음에 오른쪽의 conversion factor(전환 요소)가 integer(정수)로 rounded(올림)된 것으로
나누는 것입니다
좋습니다
자 이제 아래쪽의 dropdown menu(드롭다운 메뉴)로 갈 수 있습니다
그리고 여기 밀리미터의 dropdown menu(드롭다운 메뉴)에 있는 코드를 사용할 수 있는데, 여기 마지막 옵션에
있습니다
여기 이 밑에도 놓고자 하는데 여기는 iExpanded(입력 확장됨) 대신에 oExpanded(출력 확장됨)을
False로 세팅할 것입니다
그리고 input unit(입력 단위) 대신에 output unit(출력 단위)가 센티미터가 되겠습니다
이제 센티미터를 위한 conversion factor(전환 요소)는 0.01이 될 것인데 그 이유는 아까 말씀드렸듯이
기본이 되는 설정이 미터이고 1 센티미터는 1 미터의 100분의 1이기 때문입니다
그게 'centi'의 이미입니다
'centi'가 100이니 'centimeter'는 1/100미터인 것입니다
다음으로는 convertUnits(단위 변환)를 오른쪽의 dropdown menu(드롭다운 메뉴)를 바꾸었을 때 업데이트 되도록
하겠습니다
이제 미터에게 똑같은 과정을 반복해봅시다
conversion value(전환값)은 1.00입니다
피트에도 같은 과정을 반복해줍니다
여기는 conversion value(전환값)이 0.3048
입니다
그리고 마지막으로 밀리미터는
밀리미터로 수정하고
여기에 0을 하나 더해줍니다
자 이제
거의 준비가 되었습니다
이제 테스트해볼 수 있을 것 같습니다
에뮬레이터에서 한 번 테스트해봅시다
쉬운 숫자로 10을 한 번 적어봅시다
그 다음 피트를 선택하고, 그러면
아, 저희가 선택한 것이 무엇인지 볼 수 없군요
일단 10 피트는 3.05미터입니다
이것도 수정할 수 있는 것이 되겠습니다
10미터는 10미터고 10미터는 0.1센티미터라고 합니다
뭔가 문제가 아직 있는 것을 알 수 있습니다
확인을 해봐야겠습니다
봅시다
아직 button(버튼)을 위한 input value(입력값)이 선택되지 않았기 때문에
두 개의 buttons(버튼)들이 모두 'select'라고 하는 대신 저희가 보고 싶은 것은 여기의 이
변수입니다. 즉 왼쪽 button(버튼)의 input unit(입력 단위) 말입니다.
따라서 여기 왼쪽 button(버튼)에는 inputUnit(입력 단위)를 고르겠습니다
input(입력)button(버튼)입니다
그리고 밑으로 스크롤해서 output(출력) button(버튼)에는 output unit(출력 단위)라고 하도록 하겠습니다
좋습니다
이제 어떻게 될지 보겠습니다
완성된 것은 아니지만 말입니다
저희가 고른 것이 어떤 것인지 이해하기 조금 더 쉬워졌을 것입니다
0미터는 0미터고 이번에는 100이라고 해보겠습니다
100미터는 미터로 100미터, 피트로는 30.48피트
틀렸습니다
계산을 다시 봐야겠습니다
여전히 계산식에 문제가 있는 것 같습니다
그리고 한 가지 더 업데이트하고 싶은 것이 있습니다
그것은 convertUnits(단위 변환)이 outlined text field(테두리 쳐진 텍스트 창)의 값이 바뀌었을 때 항상 call(호출) 되어야 한다는
것입니다
여기 이것 말입니다
즉 여기서 변화를 일으켰을 때 바로 업데이트가 일어나도록 하고 싶은
것입니다
예를 들어 여기 이 입력값을 1000으로 바꾸면 result(결과)가 자동으로 업데이트 되도록 하고자 하는 것입니다
그리고 그것은 convert units(단위 변환) function(함수)를 call(호출)하는 것으로 할 수 있습니다
왜냐하면 이 convert units(단위 변환) function(함수)가 저희들의 값을 준비시키는 것을 자동적으로 하기 때문입니다
즉 output value(출력값)을 곧바로 계산해서 업데이트 한다는 말입니다
이제 그 기능이 작동하는지 봅시다
테스트해봅시다
0미터는 0미터
네 1을 추가해봅시다
1미터는 1미터를 볼 수 있고
센티미터를 선택하면
계산이 확실히 무엇인가 잘못된 것을 볼 수 있습니다
봐보겠습니다
input(입력)과 output(출력) 모두에 미터로 설정되어있고
mutable(가변적인) value(값)은 1입니다
네
여기에 0을 더했을 때 어떻게 되는지 테스트해보면 여기 이 밑에서도 자동적으로 변경되는 것을 보실 수
있습니다
이건 되었습니다
그렇다면 저희의 계산에 문제가 있거나 저희가 할당한
값에 문제가 있는 것입니다
지금 센티미터는 0.01의 값이고 미터는 1, 피트는 0.3048 그리고 밀리미터는
0.001, 그리고 다시 센티미터입니다
맞고
맞습니다
아 여기있었습니다
oConversionFactor(출력 전환 요소)를 업데이트하지 않고 있었습니다
되었습니다
어떤 때에는 복사 붙여넣기가 말썽이 되곤 합니다
제가 conversion factor(전환 요소)를 복사 붙여넣기 했엇는데
여기에서는output(출력) conversion factor(전환 요소)가 필요했었기 때문에 지금까지 제대로 된 result(결과)를 하나도 얻지
못한 것입니다
어떤 때는 그냥 코드를 보고 이런 버그를 수정할 수 있고
어떤 때에는 디버그를 해야 합니다. 어떤 방법이든
이제 저희는 준비가 되었을 것입니다
10을 입력해봅시다
10미터는 10미터입니다
맞는 결과입니다
10미터는 32.842피트입니다
이것도 맞습니다
다음으로 밀리미터를 봐봅시다
10미터는 10,000밀리미터입니다
완벽합니다
정확히 맞습니다
10미터는 1000센티미터입니다
이것도 맞습니다
그리고 이제는 센티미터에서 피트로 해봅시다
10센티미터는 0.33피트입니다
이것도 맞는 것 같습니다
10센티미터는 100밀리미터입니다
이것도 맞습니다
이제 저희의 사용자 인터페이스(UI)에 무언가 바꾸었을 때 전체 데이터가 업데이트되고 있는 것을 볼 수 있습니다
즉 저희가 값을 입력하면 result(결과)가 업데이트되고 있습니다
무언가 입력하면
업데이트도 되는 것입니다
이제 작동하는 애플리케이션이 된 것입니다
이 앱에 대해서 바꾸고자 하는 작은 것들이 몇 가지 있는데
다음 강의에서 하고자 합니다
그러고 나면 저희의 Unit Converter(단위 변환기) 앱은 마무리가 됩니다
다음 강의에서 뵙겠습니다