금일은 내가 UI만들고 UI개발 관련한 내용과 지식이 부족하다고 판단이 되서 강의를 좀 찾아서 들은다음에 개발을 했었다.
그 이후 개발을 시작했지만 다사다난한 각종 오류와 시행착오를 겪은날이다.
해당 오류는 내가 웹개발 할때처럼 class명칭을 내가 임의로 바꿔서 발생하는 문제였었다.
각 객체들을 상황에, 명칭에 맞게 수정을 할려고 했었었는데 알고보니 절대 건들면 안된다는 튜터님의 말씀에 따라서 해당 부분들을 맞는 class명칭으로 다시 돌려놓으니 정상적으로 인식이 되었다.
해당부분은 아예 문제를 일으키는 오류는 아니나 옵셔널이라는 것으로 잠재적인 오류를 우려하는 차원에서 뜨는 경고였다.
좀더 찾아본 내용으로는 Option 이라는 영어 단어 뜻처럼 '값이 있을 수도 없을 수도 있음'을 나타내는 표현이구요!
좀 더 풀어서 설명하자면 Int 타입은 반드시 정수형의 값을 가지지만,
Optional Int 타입은 정수형 값이 있을 수도 없을 수도(nil) 있다는 뜻이에요.
반대로 말하자면 Optional 타입이 아니라면 nil 값을 가질 수 없다고 해석할 수도 있습니다.
[출처][5주차] Optional: 스위프트가 잠재적 오류를 다루는 방법|작성자 무마니 vivi
라고 들었다.
이부분은 내가 swift문법단에서 라벨에 데이터를 넣을때 고정값 + 미리 선언한 변수를 집어넣는 방식을 채용했었는데
LabelName.text = "이름 : " + Name
print(LabelName.text)
이게 제대로 들어가나 확인을 할려고 프린트문으로 하단에 선언한 값을 그대로 집어넣어서 옵셔널 경고가 뜬 원인이였다.
그냥 git에다가 추후 커밋하면서 프로젝트들을 합치면 해결이 될 문제겠지만 프로젝트명에 오타가 있었길래 일괄 수정하는 방법을 찾아서 프로젝트명을 바꾸니 자동으로 바뀌는 창이 떠서 바뀌는줄 알았었지만 메인 파일들을 제외한 테스트,UI등 다른 파일들의 명칭이 그대로 남아있는 상황이 발생해서 해당부분들도 다 맞게 수정을 했지만 파일 오류코드들이 떴었다.
뜬 오류들중 첫번째는
파일경로명/Info.plist'. Did you forget to declare this file as an output of a script phase or custom build rule which produces it?
Info.plist라는 파일의 명칭이 안바뀌어서 뜬 오류로 해당부분을 바꾼 파일명에 맞춰서 수정을 했었지만 바로 다음 아래의 오류가 발생했다.
파일경로명/Build/Products/Debug-iphonesimulator/W1Team5.app is not a valid path to an executable file.
맞게 수정후 해당 오류가 발생해서 지정된 폴더로 이동을 했지만 일단 바뀌기전 프로젝트명-규칙을 알수없는 소문자 알파뱃들로 이루어진 폴더들이 몇개가 있었는데 해당 부분과 안에 있는 파일들도 바뀐 프로젝트명으로 고쳤음에도 첫번째 오류가 다시 떠서 포기하고 프로젝트를 밀고 다시 만들었다.
이부분은 일단 찾아보니 xCode자체에서(특히 스토리보드 사용한 경우에 유독) 발생하는 오류라고 찾긴 찾았으나 정확하게 원인은 파악을 못한 오류라 내일 튜터님께 여쭤봐서 이 오류들이 발생한 이유와 만약 프로젝트명을 수정해야하는 상황에는 어떻게 해야하는지 여쭤보고 제대로 파악을 해야할것같다.
Binary operator '+' cannot be applied to operands of type 'String' and '[String]'
해당 오류는 내가 데이터를 배열로 넣은것을 단순 변수호출과 같은 방식으로 호출을 했기에 발생하던 오류였었다.
이 오류는 위의 호출방식 뒤에 .joined() 를 붙여서 해결했다.
금일은 사실 오류들이 생겨서 해당 오류를 찾고 원하는 방식으로, 최대한 깔끔하게 만들려고 방법들을 찾는데 시간을 많이 소비한 하루였었다.