목록ios/Swift (11)
momodudu.zip
사실 iOS에 국한되는 포스팅은 아니긴 하지만, 카테고리가 없고 swift예제를 쓸거기 때문에 일단 Swift 카테고리에... 디자인패턴은 사실 내가 제일 약한부분이다 (ㅠㅠ) 전회사에서나 학부생때나 이런거에 대해서 깊게 고민해본적이 없기도 하고.. 사실 어떻게 따져보면 방법론적인 이야기뿐이라 사실 나에게는 잘 와닿지 않는 이야기라서..? 어찌됐든 그래도 공부해야할건 공부해야되니까! 이 포스팅을 쓰면서도 MVC와 MVVM에 대해 개념적(?)으로는 와닿지만, 사실 실무에서 어떻게 쓰는지 코드를 직접 짠게 아니라서 확 와닿는건 아니다.. 틀린것도 있을 수 있고.... 이건 일단 공부해놓으면 나중에 접목시킬때가 오게 되겠지 뭐... 궁극적으로 말하고자 하는건 MVVM패턴이지만, MVVM패턴을 알려면 MVC도 ..
이번에 일을 하다가, 조금 설계적으로 고민이 필요한 부분이 있어서 "이걸 어떻게 swift로 구현할까?" 라는 고민을 하기 시작했다. 상황은 이렇다. C++로 설명하자면, Interface가 되는 abstract class가 하나 있고 그 밑으로 이 Interface를 구현하는 subclass들을 만들고 싶었다. 익숙한 C++로 짜면 금방 짤 수 있을텐데, 사실 요새 ios개발자스럽게 코딩하자! 라는 생각을 의식적으로 계속 하고있어서, 어떻게 해야 swift스럽게 잘 짤수 있을까? 를 고민하고 있었다. 인터넷을 조금 찾아보던중에 swift의 abstract class 구현 패턴을 몇가지 찾을 수 있었다. 1. abstract class의 Empty implementation class Animal { f..
약 6개월전, 처음으로 swift를 공부하면서 스쳐지나가듯이 본 구절이 있었다. "Swift에서 class는 reference Type이고, struct는 value Type이다." 그냥 스쳐지나가듯이 본거여서 그러려니, 했었다. 그러다가 오늘 코드를 짜다가 이런 문제(?)가 발생하게 됐는데.. class SomeClass: NSObject { func setItem(_ item: Int) { _item = item } var _item: Int } func test() { var itemList = [SomeClass]() var count: Int = 0 for _ in 1...10 { let someObj = SomeClass() somObj.setItem(count) itemList.append(..
Swift에서는 기본적으로 app 내의 메모리 관리를 지원한다. java의 GC처럼.. 사실 C++ 개발자였고 smart pointer는 특별한 경우외에는 쓰지 않았기 때문에 이와 같은 GC 개념은 오히려 나한테 더 어렵다 -.-; 간단하게 요약하자면, Swift에서의 ARC는 - class와 같은 레퍼런스 타입에만 적용된다. - ARC 자체적으로 instance 내의 각 Property가 얼만큼 referencing되는지 tracking한다. - 이를 위해 strong reference를 사용한다. 1. ARC Action var reference1: Person? = Person() var reference2: Person? 위와 같은 코드의 경우, ref1,2 둘다 Person의 optional t..