본문 바로가기

iOS랑 친해지기16

[iOS] Frame 과 Bounds (feat.CGPoint, CGSize, CGRect) UI위치를 구성하다 갑자기 헷갈려서 복습겸 frame과 bounds에 대하여 정리해보았다. Frame bounds는 둘다 CGRect형이다. CGRect는 origin(x,y좌표) 와 size(width,height)로 구성되어 있다. x,y좌표인 CGPoint 형태, size 크기는 width,height값을 구하는 CGSize형태 CGPoint - 2차원 좌표계에서 점을 구하는 구조체 CGSize - 너비 및 높이 값을 구하는 구조체 CGRect 사각형의 위치와 크기를 포함하는 구조체 Frame과 Bounds는 UIView의 instance property이고 CGRect형이라 x,y,width,height을 가짐 frame 한단계 상위 뷰에서의 위치에서의 사각형 bounds 자신만의 좌표시스템에서의.. 2023. 8. 3.
[iOS] GCD와 동기,비동기 처리 Words API를 이용해 랜덤하게 단어들을 불러와 그 중 한가지 단어를 다시 Naver 번역,이미지 API를 이용해 단어의 정의와 사진을 보여주는 앱을 설계하려고 했다. 하지만 번역과 이미지 데이터를 파싱해 0번째 인덱스 있는 데이터를 UI에 보여주도록 하였지만 out of range에러가 생성되었다. 이유는 Label과 Image만 mainQueue에서 비동기로 처리하였기 떄문이다. 단어,번역,이미지 데이터를 파싱을 하는 과정에서 배열에 데이터가 담겨져 있지 않은데 Label과 Image의 값을 0번째 인덱스에서 가져오려 했기 때문이다. 그래서 방법을 찾아보다가 GCD에 대하여 찾아 볼 수 있었다. 먼저 GCD를 알기 전에 프로그램,프로세스,쓰레드의 개념을 알아야 했다. 프로그램 - 작업을 실행할 수.. 2023. 8. 2.
[iOS] JSON 배열의 인덱스마다 구조가 다른 데이터 파싱 (옵셔널) Word of the day API에서 랜덤한 문자를 받고 싶었다. https://rapidapi.com/jayantur13/api/word-of-the-day2 Word of the day API Documentation (jayantur13) | RapidAPI rapidapi.com Postman으로 Get 형식으로 데이터를 받아왔을 경우 JSON형태가 다음과 같았다. [ ] 문자로 시작해 배열로 확인하였고 첫번째인덱스에만 info라는 이름을 가지는 객체가 있었고, 나머지 인덱스에는 source,date,word,type,mean라는 이름을 가진 객체가 있었다. [ { "info": "Note: This API doesn't gaurantee latest data by date." }, { "sou.. 2023. 8. 2.
[iOS] pod init 실패 (XCode 업데이트하고 Podfile 안깔릴때 응급치료법 Search for existing GitHub issues similar to yours) Xcode 업데이트 후 Pod init으로 Podfile 을 설치하려하는데 다음과 같이 오류남 오류내용 ――― MARKDOWN TEMPLATE ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― ### Command ``` /Users/duck/.rbenv/versions/3.1.1/bin/pod init ``` ### Report * What did you do? * What did you expect to happen? * What happened instead? ### Stack ``` CocoaPods : 1.11.3 Ruby : ruby 3.1.1p18 (2022-02-18 revision 53f5fc4236) [x86_64-darwin21.. 2022. 10. 27.