iOS
-
iOS :: Swift 메모리의 Stack과 Heap 영역 톺아보기iOS 2022. 1. 25. 02:00
안녕하세요! 상어입니다. 최근에 공부를 하면서 이 부분에 대해서는 꼭 블로그에 써야겠다라는 생각이 들었는데 그건 바로 Stack과 Heap입니다! 아마 많은 분들이 해당 부분에 대해서는 학교에서나, 개인적으로나 공부를 꽤 많이 하셨을거라 생각을 하는데, 그래서 저는 이론적인 부분에 대해 작성하는 것보다 실제로 Swift 메모리에서 Stack과 Heap이 어떻게 적재되는지에 대해 같이 살펴보고자 합니다ㅎㅎ (사진으로 설명을 하다보니 스크롤이 많이 길 예정이에요😁) Stack과 Heap 본격적으로 시작하기 이전에 그래도 Stack과 Heap이 뭔지에 대해서는 대략적으로 살펴보는게 좋겠쬬?! 간단하게 정리를 하자면 Stack - 지역변수와 매개변수 등이 저장되는 영역 - 이 영역에 할당된 변수는 함수 호출이 ..
-
iOS :: ARC, strong, weak, unownediOS 2020. 4. 28. 01:31
안녕하세요! 상어입니다. 정말 오랜만에 글을 쓰는 것 같네요 ㅎㅎ 자주 써야지 써야지 생각하다가도 이래저래 바빠서 제대로 못 들어오는 것 같아요 ㅜ 꾸준히 하시는 분들 정말 리스펙 합니다,, 저는 오늘 ARC에 대해 적어볼까 해요. ARC에 대해 상세히 설명하자면 엄청엄청 길고 할 말이 많지만, 이번 설명에선 간략하게 해보려 합니다 ㅎㅎ ARC(Automatic Reference Counting) 모두 한 번쯤은 받아보신 질문일 거에요 "ARC가 뭔가요?" 저도 많이 받은 질문인데, ARC를 잘 모르는 시절엔 이렇게 답했습니다. "자동으로 Retain Count를 올려주는 겁니다." 뭐... 틀린 말은 아니에요. 자동으로 Retain Count(RC)를 올려주는 걸 ARC라고 해요. 하지만! 너무너무너무..
-
iOS :: URI와 URL 차이 (URI VS URL)iOS 2019. 7. 20. 11:30
안녕하세요!상어입니다. 날씨가 너무 더워져서 녹아버릴 것 같아욯ㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎ 그래두 겨울시러ㅠㅠ 오늘 다룰 내용은 URI와 URL의 차이입니다.URL은 많이 들어봤는데 URI는 엄청 생소한 단어이고, 알아가볼 겸 정리 해보겠습니다!보통 URL은 많이 아시는데 URI는 생소하실 거에요.URI는 Uniform Resource Identifier의 약자로 통합 자원 식별자라는 뜻인데 간단히 말해서 인터넷에 있는 유일한 주소 입니다. 이해가 잘 안되시죵?아래의 예제를 볼게요~ ex)https://www.abcd.com/group ---> URLhttps://www.abcd.com/group?groud_id=3 ---> URI 여기서 잠깐! URL이란 말은 많이 써서 아는데 정확한 의미는 뭔지 모르..
-
iOS :: SQLite와 Realm 장단점iOS 2019. 7. 15. 02:02
안녕하세요! 상어입니다.진짜 오랜만에 블로그를 하는 것 같네요.. 하하핳네.....ㅠㅠ 앞으로는 가벼운 글로도 많이 올게용!! 그리하여 첫 가벼운? 글은 SQLite와 Realm 장단점이에용XD제가 내부DB 선택할 때 고민했던 칭구들인데 이글 보시면서 정리가 조금 되셨으면 좋겠어요!! SQLite 장점 쉽다간편하다iOS에 이미 내포되어 있어서 굳이 라이브러리를 사용하지 않아도 된다. 단점성능 쏘쏘(단점인가..?)write 경우 테이블이 아닌 DB를 lock 걸음 -> 성능이 안좋아짐Date Time 같은 필드가 존재하지 않음 write 경우 테이블이 아닌 DB를 lock 걸음 -- 부분이 이해가 안되실까봐!! 예를 들어서 school이란 DB가 있고, 그 내부에 student, teacher 등의 tab..
-
iOS :: TableView xib로 구현하기iOS 2019. 3. 11. 15:48
안녕하세요! 상어입니다. 이제 드디어 TableView를 구현하는 방법중 세번째 방법인 xib를 소개합니다!!저도 처음 TableView를 할 땐 cell에 일일히 그렸는데 xib를 안 이후는 요것만 사용해요 ㅎㅎ관리가 넘나 편하다눙~> Int { return 5 } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { guard let cell = tableView.dequeueReusableCell(withIdentifier: "sharkTableCell", for: indexPath) as? SharkTableViewCell else { return UITableViewCell()..