앱등이에게 살충제를 뿌린다.
-
[Swift] static 함수와 class 함수! static func vs class func앱등이에게 살충제를 뿌린다./Swift 2016. 7. 20. 00:27
class func vs static func Objective-C를 사용하면 함수를 선언할 때, 플러스(+)부호와 마이너스(-)부호를 붙여준다. +부호는 클래스메소드, -부호는 인스턴스메소드.즉, -부호를 붙인 메소드는 객체를 생성해야만 사용할 수 있고, +부호는 객체가 아닌 클래스를 통해 호출하는 메소드이다. 이와 유사한 작동이 Swift에서도 물론 제공된다.바로 static키워드와 class키워드이다. 생긴건 유사해 보인다.두 키워드의 기능에 대한 설명은 생략하고 차이점에 대해서 짚어보도록 한다. Q. static func와 class func의 차이점은 무엇인가요? 보기엔 static은 struct, enum에서 선언할 때 사용하고 class은 클래스나 프로토콜에서 사용하는것처럼 보이는데요.. 맞..
-
[아몰랑] 컴파일타임 메소드와 런타임 메소드앱등이에게 살충제를 뿌린다./일기는 일기장에 2016. 7. 19. 17:12
교훈은 없는 징징글1 꽤나 dependent한 소스들을 수정하고있는데,,메소드들을 수정하면서 굉장히 혼란스러운 점이 생겨서 남겨둔다. 많은 메소드들이 빌드타임에서 제 역할을 해줄 수 있지만 그렇지 않은 메소드들이 있다.대부분의 경우 네트워크와 관련되어, API의 결과가 있어야만 제 기능을 해주는... 예를 들어 func setTitle() {nextViewController.title = self.title}라는 메소드가 있다고 가정할 때, setTitle()메소드는 아무때나 사용할 수 없다.self.title이 언제 결정되는가에 따라, setTitle()메소드의 역할이 발휘될 수 있기 때문이다. 그래서 이러한 메소드들을 다른 클래스의 init메소드에서 사용해도 되는지에 대한 고민등..아 힘들어,, 유지..
-
UIBarButtonItem의 initWIthCustomView에 addTarget:action:이 안먹힌다?앱등이에게 살충제를 뿌린다./일기는 일기장에 2016. 7. 7. 17:28
G프로젝트 중... UIBarButtonItem은 - initWithBarButtonSystemItem:target:action:- initWithCustomView:- initWithImage:style:target:action:- initWithTitle:style:target:action:- initWithImage:landscapeImagePhone:style:target:action:이렇게 init메소드를 제공중임 여기서 initWithCustomView라는 메소드가 굉장히 탐스러워 보이는데, target, action 설정을 수동으로 해줘야한다. 이렇게 말이다. 근데 문제는 이렇게 해봤자 action이 안먹힐 것이다. 왜냐하면 customVIew가 UIView타입일 때는 안먹히니깐..let v..
-
제네시스를 만들려면 제네시스를 설계해야지앱등이에게 살충제를 뿌린다./일기는 일기장에 2016. 7. 1. 00:08
...? 한 줄의 코드로 사람 실망시키긴 참 쉽다. 앱 죽이기는 더 쉽다. 내가 생각해도 너무 안좋은 버릇이 있어 남긴다. A라는 스펙을 구현하려면 A를 위한 설계를 하고 A를 목표로 진행을 해야하는데..계속 설계도 제대로 하지 않은 채 A와 기능적으로는 같지만 불완전하고 구현하기 쉬운 B를 빠르게 구현하려고 한다.당연히 B를 튜닝해서 A를 만들어야 하는데, 그 과정에서 예상치 못한 버그가 많이 생긴다. 그러니까.. 제네시스를 만들어야 하는데,, 자꾸 아반떼를 만들고 튜닝해서 제네시스를 만드려고 한다. 버그를 다 잡기라도 하면 다행인데, 이게 배포에 나간다.아 기분이 구리니까.. 뭐하지.. 자야겠다 결론....1. viewDidLoad에 있는 코드는 중복으로 호출이 될 수 있다는 가정하에 짜도록 한다.-..
-
내생애 첫 머지. 컨플릭트 최대 몇 개까지 낼 수 있어요?앱등이에게 살충제를 뿌린다./일기는 일기장에 2016. 6. 30. 00:15
하나의 앱에서 두 프로젝트가 진행되고 있다.. L프로젝트 G프로젝트라고 하고..L프로젝트는 3월부터 8월까지 3명이 개발G프로젝트는 5월부터 8월까지 2명이 개발 오늘 처음으로 이 두 프로젝트를 머지햇는데..컨플릭트 해결이 너무 힘들었다.그 중 하나 원썬의 소리팔투 같은 에러메시지 때문에.. 1시간은 날린 듯 하다. 그 메시지는 swiftc failed with exit code 1 과 유사한 메시지였는데, SomeSourceFile.swift 파일을 찾을 수가 없어서 빌드를 할 수 없다는 것이었다.1. 그래서 global find에서 SomeSourceFile를 쳐봤는데, 아무것도 안나옴2. 그래서 프로젝트 설정파일 project.pbxproj파일에서 SomeSourceFile을 치니깐 다섯군데가 나옴..
-
[iOS] navigationController의 topViewController앱등이에게 살충제를 뿌린다./일기는 일기장에 2016. 6. 15. 11:26
navigationController에는 viewControllers라는 [UIViewController]타입의 프로퍼티가 있다.navigationController의 rootViewController는 이 프로퍼티의 0번째 인덱스이고, 현재 보여주고 있는 화면은 마지막 인덱스에 있을 것이다. 따라서 현재 화면은 navigationController.viewControllers.last 라는 접근을 통해서 언을수 있다.근데 이를 보다 쉽게 UINavigationController.h에서는 topViewController라는 프로퍼티를 제공해주고 있다.