목록ios (9)
King of Stock
한글 배열을 정렬해야 하는 상황이 있어서 정렬 함수를 만들고자 코드를 짜던 중에 있는 함수 sort()가 어찌 처리를 하는지 궁금하여 한번 돌려봤습니다.아래는 코드입니다. 위에 코드를 돌려보면 아래와 같이 결과가 나옵니다. 그런데 마음에 안드는 결과가 나와버렸습니다. 그냥 매개변수 없이 돌리나, 방향을 바꿔서 돌리나 정렬은 첫 글자 초성 기준으로만 하는 것으로 보여지네요. 자동문, 장동건, 장동민 글자에서 내림차순은 장동민, 장동건, 자동문 순서로 오름차순은 자동문, 장동건, 장동민 순서로 나와야 하는데 말이죠.이렇게 정렬이 되는 것은 원하지 않으니 함수를 만들어 봅니다. 한글끼리 비교시 Character 배열로 변환을 해서 인덱스별로 각각 비교를 하고 비교하는 문자가 동일할때 다음 인덱스 비교를 하도록..
사용자 기기의 특정 연락처를 보여주고자 할때에 이용하는 CNContactViewController 사용하다가 오류가 발생했던 상황에 대해 공유합니다~ 일단은 CNContactViewController 클래스 일부 번역(Documentation) [원문]The CNContactViewController class implements the view to display a contact. CNContactViewController can display a new contact, unknown contact, or existing contact. You must use one of the designated initializers from init(forNewContact:), init(forUnknownCo..
Swift 접근 제한자 명칭 허용 범위 접근 & 수정 비고 private ~ 클래스 접근 fileprivate ~ 클래스 + 파일 접근 Swift 3.0 이상 internal ~ 같은 모듈(프로젝트) 접근 접근 제한자를 명시하지 않으면 기본값 public ~ 모듈 외부 접근 open ~ 모듈 외부 접근 & 수정 Swift 3.0 이상
Edit Scheme > Run > Arguments 이동 아래와 같이 -FIRDebugDisabled 추가 후 실행
iOS 개발을 많이 하신 분은 과감히 안 보셔도 됩니다. 먼저 문제가 되었던 상황 및 로직은 다음과 같았습니다. [대략적인 로직] 1.UITableView content는 Dynamic Prototypes(Prototype Cells: 2) 으로 설정이 되어있음 2.위에 설정된 2개의 cell 중에서 한 개는 사용자의 입력을 받는 UITextField를 포함한 Cell(InputCell 이라고 통칭) 이고 다른 한 개는 Label만 있는 Cell(SelectableCell 이라고 통칭) 3.평시에는 InputCell 4개만 보여지고, 첫번째 입력란에 값을 넣으면 텍스트를 기반하여 데이터를 조회후 1번 인덱스부터 조회결과를 SelectableCell로 채워넣는 형태의 로직 4.사용자 편의를 위해 키보드에 ..
UITableView 함수인 endUpdates() 호출할 때에 다음과 같은 오류가 발생하는 경우가 있다. 오류메시지: Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid update: invalid number of rows in section 0. The number of rows contained in an existing section after the update (14) must be equal to the number of rows contained in that section before the update (14), plus or minus the number of row..
별거는 아니지만 그래도 혹시 당황하시는 사람들을 위해서 작성합니다. 시뮬레이터를 통해서 앱을 테스트 하고자 할때 아래와 같은 비스무리한 오류가 발생 한다면 시뮬레이터 버젼이 낮아서 나오는 오류로 볼 수 있습니다. 가볍게 시뮬레이터의 버전 업데이트를 수행해주시면 됩니다. CopySwiftLibs /Users/awesome/Library/Developer/Xcode/DerivedData/MyAwesomeApp-hivqjkvpcyksquaztfalzhypnhhn/Build/Products/Debug-iphonesimulator/MyAwesomeApp.app cd /Users/awesome/Desktop/remote_repository/my-awesome-app export CODESIGN_ALLOCATE=/A..
iOS 개발중 Realm 으로 사용하는 모델을 변경후 시뮬레이터를 통해서 실행을 했을때 아래와 같은 오류(물론 더 많은 로그가 찍힘)로그가 찍히는 것을 발견할 수 있음. fatal error: 'try!' expression unexpectedly raised an error: Error Domain=io.realm Code=10 "Migration is required due to the following errors: 기존에 저장된 데이터를 유지하려면 어쩔수 없이 Realm에서 제공하는 마이그레이션을 해줘야 한다.https://realm.io/kr/docs/swift/latest/#migrations 하지만 개발중에 모델을 변경하는 일이 빈번 할 수도 있으니 기존 데이터를 가지고 있을 필요가 없다면 ..
Size Inspector에서 아래의 속성들을 설정할 수 있습니다.헷갈리는 분들은 한번씩 참고 하세요. Priority 속성이 높으면 해당 속성의 우선순위를 높게 설정한 것으로 이해하시면 되요.그런데 이해를 더 쉽게하기 위해서 제일 높을때(또는 제일 낮을때)를 가정하고 설명합니다. Content Hugging PriorityPriority 값이 제일 높으면 가장 나중에 커집니다.Priority 값이 제일 낮으면 가장 먼저 커집니다. Content Compression Resistance PriorityPriority 값이 제일 높으면 가장 나중에 작아집니다.Priority 값이 제일 낮으면 가장 먼저 작아집니다. 그런데 위에 사항과는 약간 다른 내용인데 width constraints 설정을 해놓고 잊어..