300x250 전체 글241 화면 간 데이터 전달 화면 간 데이터를 전달 할 때 사용할 수 있는 방법 크게 두가지, 특정 액션이 이뤄지면 다른 ViewController로 전달한다는 목적을 가진다. 1. Delegate 서로 다른 ViewController가 1:1로 연결될 때 예를 들어, 로그인을 해야하는 상황일 때 ' 메인VC -> 로그인VC -> 메인VC ' (메인 화면에서 로그인 화면으로 넘어갔다가 로그인이 완료되면 다시 메인으로 돌아오는 프로세스) 메인VC와 로그인VC가 1:1로 연결되므로 로그인VC에서 딜리게이트(protocol)을 생성하여 로그인이 완료되면 로그인delegate를 채택한 메인VC에서 감지하여 필요한 동작을 수행하게 해준다 코드 예제 2. Notification observer 하나의 ViewController에서 다른 여러 .. 2022. 6. 10. NotificationCenter(Observer) 노티피케이션센터는 string 키값을 이용해 여러 화면으로 noti를 보내 원하는 동작을 수행할 수 있게 해준다. 그래서 여러 화면에서 특정 액션을 캐치할 필요가 있다면 NotificationCenter 사용이 적합하다. 다만, string을 이용하면서 오탈자 발생 가능성이 있고, NotificationCenter.default에서 모든 noti가 관리되어서 딜리게이트(프로토콜)와 달리 추적이 쉽지 않다. 그래서 extenstion으로 Notification을 관리해주는 별도 클래스를 두는 것이 좋다. NotificationCenter class Notification.h typedef enum { messageNoti // 간단하게 noti key도 이렇게 관리 messageAdd, messageDel.. 2022. 6. 10. 뒤로가기 스와이프 감지 - (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated { if (navigationController.topViewController.transitionCoordinator) { [navigationController.topViewController.transitionCoordinator notifyWhenInteractionChangesUsingBlock:^(id context) { if (context.isCancelled == NO) { // back 성공 // do som.. 2022. 6. 2. 프로그래머스 - 2018 KAKAO BLIND RECRUITMENT: [1차] 비밀지도 문제 설명 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다행히 지도 암호를 해독할 방법을 적어놓은 메모도 함께 발견했다. 지도는 한 변의 길이가 n인 정사각형 배열 형태로, 각 칸은 "공백"(" ") 또는 "벽"("#") 두 종류로 이루어져 있다. 전체 지도는 두 장의 지도를 겹쳐서 얻을 수 있다. 각각 "지도 1"과 "지도 2"라고 하자. 지도 1 또는 지도 2 중 어느 하나라도 벽인 부분은 전체 지도에서도 벽이다. 지도 1과 지도 2에서 모두 공백인 부분은 전체 지도에서도 공백이다. "지도 1"과 "지도 2"는 각각 정수 배열로 암호화되어 있다. 암호화된 배열은 지도.. 2022. 5. 21. integer 값 참조 오류 NSInteger로 값을 사용하다보면 막상 길게 의도 하지 않은 숫자로 바뀔때가 있다. 그럴때는 NSNumber의 값을 int로 형변환 하여 사용하면 된다. NSNumber * idxNum = 원하는 숫자; int idx = [idxNum intValue]; 2022. 5. 20. Extension 파일 생성 1. cocoa touch로 new file 2. extenstion 하려는 Subclass 선택 후 class명 작성 이렇게 하면 지정한 class명으로 .h와 .m 파일이 생성됨 // .h #import NS_ASSUME_NONNULL_BEGIN @interface 클래스명 : sub클래스 @end NS_ASSUME_NONNULL_END // .m #import "클래스명.h" @implementation CustomMarker @end UIView Extension 예제 - custom drawing imgae 생성 시 // .h NS_ASSUME_NONNULL_BEGIN @interface CustomImage : UIView - (UIImage*) createImage; @end .. 2022. 4. 25. Local DB 결정 시 참고 사이트 https://cocoacasts.com/core-data-or-realm Core Data or Realm I would like to dive a little deeper into the comparison between Core Data and Realm. While I have used Core Data for close to ten years, I don't have much experience with Realm. With this article, I would like to debunk a few misunderstandings about Core cocoacasts.com https://purple-log.tistory.com/13 iOS의 데이터베이스 비교 (SQLite, Core Dat.. 2022. 4. 22. UILabel에 이미지 넣기 let iconAttachment = NSTextAttachment() iconAttachment.image = UIImage(named: 이미지명)?.withRenderingMode(.alwaysTemplate) let iconOffsetY : CGFloat = -2.0; iconAttachment.bounds = CGRect(x: -4, y: iconOffsetY, width: 16.0, height: 16.0) let attachmentString = NSAttributedString(attachment: iconAttachment) let labelText = NSMutableAttributedString(string: " ") labelText.append(attachmentString) lab.. 2022. 4. 20. 프로그래머스 - 정렬: H-Index https://programmers.co.kr/learn/courses/30/lessons/42747 코딩테스트 연습 - H-Index H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표 programmers.co.kr 문제 설명 H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이.. 2022. 4. 14. 이전 1 ··· 14 15 16 17 18 19 20 ··· 27 다음 300x250