9월, 2019의 게시물 표시

iOS13 다크모드시 앱에 영향있는 문제 (Xcode 11)

이미지
  iOS13 다크모드시 앱에 영향있는 문제 Xcode 11 업데이트 하고나서, 빌드를 통해 실행한 결과 다크모드 적용되어 있는 경우 TableView or TextView 등의 Default 색상에 다크모드일시 검정 이 되는.... 난처한 상황이 생겼다.   회사내에서 찾은 방법은 Info.plist 에 User Interface Style : Light 로 넣어주는것이다. 아래와 같이 다시 원래처럼 돌아온다. 2019/09/20 (금) iOS 13 이 업데이트 되었는데, 2019/09/24 (화) iOS 13.1, iPad OS 가 업데이트 된다고 한다. 이번달은 사실상 iOS 대응 주로 바쁘게 지내야할 것 같다..

변수명 표기방법 정리

  변수명 표기방법 정리 개인적으로 카멜케이스와 스네이크표기법으로 사용된것은 많이 봤는데, 한번쯤 알아보고 싶어서 정리하였다. 카멜케이스 camelCase 각 단어의 첫문자를 대문자로 표기하고 붙여쓰되, 맨처음 문자는 소문자로 표기함 띄어쓰기 대신 대문자로 단어를 구분하는 표기 방식 예시: backgroundColor, isUse, detailDate 파스칼표기법 PascalCase 첫 단어를 대문자로 시작하는 표기법 예시: BackgroundColor, IsUse, DetailData 스네이크표기법 단어를 밑줄문자(_)로 구분하는 표기법 예시: background_color, is_use, detail_data 헝가리안표기법 형식은 카멜케이스와 같지만, 맨 앞의 단어가 자료형을 나타내는 접두어임 예시: strName, bBusy, szName   참조 https://zetawiki.com/wiki/%EC%B9%B4%EB%A9%9C%ED%91%9C%EA%B8%B0%EB%B2%95_camelCase,_%ED%8C%8C%EC%8A%A4%EC%B9%BC%ED%91%9C%EA%B8%B0%EB%B2%95_PascalCase

[iOS] @objc vs @objcMembers 알아보기

이미지
  @objc vs @objcMembers 알아보기   간략정보 @objc : 각각의 변수, 함수 등에 적용하여 ObjectiveC의 접근을 가능하게 해준다. @objcMembers : Class의 적용되며 Class 내 함수, 변수 등 ObjectiveC에서 접근을 가능하게 해준다. (Swift 4이상) Swift 문서를 읽어보고, 구글번역을 도움받아 직역한 내용 @objcMembers속성은 Objective-C 런타임의 내부 검사 기능을 많이 사용하는 라이브러리에 편리합니다. @objc 필요하지 않은 속성을 적용하면 이진 크기가 커지고 성능에 부정적인 영향을 줄 수 있습니다. Swift 3 -> Swift 4 이상으로 넘어가면서 @objc 를 추천하지 않으며, @objcMembers 를 권장 한다고 한다. 내부적으로 @objc를 선언하면 응용프로그램의 바이너리가 증가 한다고 한다. 앞으로 @objcMembers로 사용하면 된다.   실제 적용 차이점 Swift 파일 objective C 파일   참조 https://docs.swift.org/swift-book/ReferenceManual/Attributes.html https://code-examples.net/ko/q/2a52cd4

블로그 소스코드 이미지 만들기

이미지
  블로그 소스코드 이미지 만들기 구글블로그를 처음하면서 기존에 사용했던  블로그 소스코드 넣기  글을 작성한 적이 있다. 소스코드를 복사해서 테스트 하고 싶은 목적일 때는 매우 유용하지만 구글블로그에서 여러 소스코드를 붙여넣기 하다보면, 소스코드의 정렬이 깨지는 경우가 발생을 하였다. 그래서 간단한 코드 (굳이 복사 붙여넣기 하지 않아도 되는코드) 의 경우는 이미지화 쓰는데, 이것을 이쁘게 찍어주는 사이트가 있다. Carbon :   https://carbon.now.sh/ 해당 사이트에서 자신의 Code 를 넣고, Export를 통해 정보를 뺄 수 있다. (참고로 iFrame 을 통해 구글블로그에 넣어보니 매우 많이 깨진다.)   결과 위의 과정을 통해 PNG로 Export 한 결과물

[iOS] NSSortDescriptor 알아보기

  NSSortDescriptor 알아보기 Swift에서는 기본적인 Array.sort 기능이 존재하지만, Objective C 언어부터 사용해온 사람이라면 NSSortDescriptor로 sorting 하는 경우가 존재할 것 이다. 필자도 위와 같은 상황인데, Objective C 에서 Swift 언어화 시키면서 테스트 했던 간략 정보 공유한다. 참고 iOS 2.0 이상부터 사용 가능함. (자세한 내용 :  https://developer.apple.com/documentation/foundation/nssortdescriptor )     Sample Code (정수형, 문자형 테스트) import  UIKit // // NSSortDescriptor Test // 정수형, 문자형 둘다 정상적으로 잘 됨. let  dataArray  =  [     [ "id" : 4 , "sortKey" : "1" ],     [ "id" : 3 , "sortKey" : "2" ],     [ "id" : 2 , "sortKey" : "3" ],     [ "id" : 1 , "sortKey" : "4" ] ] // 데이터 확인 for  data  in  dataArray {      print ( "default Data : \(data)" ) } //MARK:- // id(정수형)를 키로 오름차순 let  descriptorID  =  NSSortDescriptor.init(key:  "id" , ascending:  true ) // NSArray일 시에만 정렬이 가능함. 참고하기. let  idSortDataArra

[Swift 공부] 구조체 vs 클래스 (Struct vs Class)

이미지
  Struct vs Class (구조체, 클래스 알아보기) 요즘 개인적으로 가장 중요하게 생각하고 있는 부분이라고 생각하며, Objective C 언어를 사용하였을때, 구조체의 경우 정말 간단하게 값만 함수로 전달을 하거나 임시로 저장하는 용도로만 사용을 하였고, 데이터 보관 및 참조, Class 내 간략한 함수를 구현하는 디자인 패턴을 많이 사용하여 클래스 위주로만 사용을 하고 있었다. 그런데 Swift 부터는 개념은 같지만, 구조체 내에서도 함수를 구현할 수 있어서 확실히 확용도가 더욱 높아 진 것 같다.    간략 차이점 구조체 : Call of Value (값) 클래스 : Call of Referense (참조) struct와 class의 가장 큰 차이점은 값과 레퍼런스라는 차이점이다.    레퍼런스(Referense) 와 값(Value)    공통점 # 값을 저장하기 위해 프로퍼티를 정의 할 수 있다. # 기능 실행을 위해 메서드를 정의 할 수 있다. # 서브스크립트 문법을 통해 구조체 또는 클래스가 갖는 값(프로퍼티)에 접근하도록 서브스크립트 정의 할 수 있다. # 초기화될 때의 상태를 지정하기 위해 이니셜라이저를 정의 할 수 있다.
 # 특정 기능을 실행하기 위해 특정 프로토콜을 준수 할 수 있다.    차이점 # 구조체는 상속할 수 없다. # 타입캐스팅은 클래스의 인스턴스에만 허용된다. # 디이니셜라이저는 클래스의 인스턴스에만 활용 할 수 있다. # 참조 횟수계산(Reference Counting)은 클래스 의 인스턴스에만 적용된다.    생성 및 대입 속도 Sample 소스로 생성 및 대입 속도를 측정한 결과 이다. 컴퓨터 환경에 따라 다르겠지만, 구조체가 생성 및 대입속도가 빠른것이 보여진다.    구조체와 클래스 어떨때 사용할까? 이 항목이 제일 어려운 부분인데, 구조체는 항상 값타입이고, 클

탯줄 보관도장 만들기!

이미지
2019년 8월 8일 우리집에 기다리던 우주😃가 왔다. 아빠가 된 기념도 있고, 직접 탯줄보관도장 을 알아보고 만들어 주기로 했다! 구매처링크 : 도장이야기 ( https://smartstore.naver.com/2000k/products/208973960?NaPm=ct%3Dk00vomy6%7Cci%3Dcheckout%7Ctr%3Dppc%7Ctrx%3D%7Chk%3D92d0b63b345a8a59941a4fcdac09e1f1b88903af ) 상품 구성 셋트는 간단하게 왔다. #. 탯줄 (본인지참) 1. 도장 + (서비스 도장) 2. 보관용 액체 , 코팅용 액체 3. 설명서 + 종이컵 2개, 면봉 1개 있으면 좋은것 같습니다. 이제부터 작업 시작! 1. 작업전 탯줄이 유리관속에 들어가는지 확인하고 시작합니다. 우주 탯줄이 들어가지 않아 종이컵에 따뜻한물을 담그고,  조물조물 해서 유리관에 들어갈 수 있게 만들어 줍니다. 2. 반절 자른 종이컵에 분홍액체 로 탯줄을 코딩해 줍니다.  (2~3회 하면 좋다고 10~15분 씩 2회 했습니다.) 3. 어느정도 시간이 지나고 나서 탯줄을 유리관에 넣어줍니다. 4. 흰색 액체 를 유리관에 채워줍니다. (마개 닫을정도만 남기고) #. 여기서 팁으로 차라리 유리병에 꽉차게 해서 주사기 + 마개를 동시에 닫는게 좋을듯함. 마개를 닫으면서 중앙에 주사기 를 꽂으면 공기가 빠지면서 닫을 수 있습니다. #. 여기가 생각보다 오래걸림 ㅠ (조금은 공기가 남았음) 우리 우주😃첫 도장은 아빠가 만들어줘서 기분이 매우 좋다! 조만간 은행 들려서 통장부터 만들어 줘야지 ^^