saltfactory's blog


UITableViewCellStyle을 이용하여 UITableViewCell 스타일 변경하기

서론

UITableView는 집합데이터를 목록형으로 나타내는데 매우 효율적이고 효과적이다. 우리가 일반적으로 사용하고 있는 대부분의 뷰는 목록형으로 사용되고 있다. UITableViewCell는 이러한 목록형 데이터를 만드는 UITableView에서 row의 하나를 구현하기 위한 객체이다. 이렇게 만들어진 UITableView의 하나의 Cell은 큐에서 자원 재활용이 가능하게 설계되어 있다. 그리고 UITableViewCell은 여러가지 스타일이 기본적으로 제공하고 있다. 뿐만 아니라 사용자가 직접 UITableViewCell을 상속받아서 UITableView 구성을 다시 할 수 있다.

Continue Reading

UITableView에서 header와 footer 높이 변경하기

서론

UITableView는 iOS 기반 앱을 개발할 때 가장 많이 사용하는 UIKit 중에 하나이다. 이러한 UITableView에서는 UITable의 속성을 외부에서 (다른 클래스에서)변경하기 쉽게 하기 위해서 View의 처리를 하는 부분을 위임하는 delgate 방식을 사용한다. (물론 속성을 바로 접근해서 사용할 수 있는 것도 있다.)

Continue Reading

XCode에서 하이라이팅과 자동완성되지 않을 때 해결방법

서론

Xcode는 Objective-C 언어 기반의 iOS와 Cocoa를 개발할 때 사용하는 Apple에서 제공하는 통합 개발 IDE로 Objective-C 언어 뿐만아니라, Ruby, Python, HTML, Javascript, CSS, 등 많은 언어로 개발할 수 있는 환경을 제공하고 있다. XIB builder를 이용해서 UI를 개발하는 것을 Android 개발자들이 볼때 너무나 매력적으로 생각한다. 그리고 LLVM을 이용하여 코드를 analyze 하면 개발자가 미처 찾지 못하거나 놓쳤던 compiler level에서 코드를 분석해서 문제점을 알려주기도 한다. Xcode는 iOS보다 개발자에게 더 중요한 의미가 될지도 모른다. 그래서 WWDC에서는 iOS 세션과 더불어 Xcode 자체의 세션도 존재한다. Xcode는 그만큼 개발에 효과적이로 효율적이다. 더구나 Xcode 자체를 마치 아이폰에서 앱을 다운 받듯 App Store에서 다운받아서 바로 설치할 수 있다. 즉, Xcode 자체도 하나의 앱인것이다. 그러한 이유로 Xcode도 지속적으로 버그가 발생하고 업데이트가 실시되고 있다. Xcode는 매우 매력적인 툴인 동시에 버그도 많은 툴이라는 것을 iOS 개발자들은 모두다 알고 있을 것이다. 하지만 또 Xcode 만큼 훌륭한 IDE가 존재하지 않기 때문에 코드가 날아갈지, 또는 Xcode가 개발 도중에 꺼지게 될지 염려하면서도 정말 편리하고 유용한 툴이라고 생각하면서 사용한다. Xcode는 여러가지 버그가 있고 대처해야할 방법도 여러가지 존재한다.

이번에 소개할 문제는 바로 Xcode에서 갑자기 코드의 Syntax Highlighting 기능과 Code completion이 동작하지 않게 되는 문제에 대처하는 방법이다. Xcode 에서 Syntax Highlighting 과 Code completion은 매우 훌륭하다. 이 기능이 너무 훌륭하기 때문에 이 기능이 갑자기 동작하지 않게되면 개발자들은 많이 당황하게 된다. 하지만 Xcode에서는 이런 상황이 종종 발생한다.

Continue Reading

SQLite 디폴트 환경설정 저장하여 사용하기

서론

SQLite는 임베디드 시스템에서 상요하던 데이터베이스였는데 최근 스마트폰과 데스크탑의 브라우저 벤더들이 사용하면서 SQLite는 Oracle, SQLServer, MySQL과 더불어 가장많이 사용하고 알려진 DBMS가 되었다. 그런데 SQLite를 사용하다보면 궁금한 점이 생긴다. Oracle, SQL Server, MySQL들은 모두 화려하고 사용하기 좋은 GUI (상용, 무료 포함)가 있는 반면에 SQLite의 GUI는 그렇게 사용하기 좋은 툴이 없다는 것이다. 물론 Firefox의 plugins으로 사용할 수 있고, 오픈소스로된 약간 퀄리티가 낮은 GUI가 존재하긴 하지만 뭔가 아쉬움이 남는다. 그래서 스마트폰 개발을 할 때 대부분 터미널에서 sqlite3 명령어를 가지고 조회하고 데이터베이스 작업을 한다.

Continue Reading

UITableView에서 allowMultipleSelectionDuringEditing을 사용하여 여러개의 행 처리하기

서론

iPhone의 기본 메일 앱을 사용하면 여러개의 메일을 한번에 삭제, 이동, 복사 하기 위해서 편집 버튼을 누르면 여러개의 항목을 선택할 수 있는 UITableViewCell이 나타나게 된다. iOS 5 하위 버전 SDK에서는 UITableView에 이러한 인터페이스를 제공하지 않아서 이와 같이 여러개의 행을 선택하기 위해서 프로그래밍으로 해야했지만 iOS 5에서는 다음과 같은 여러개의 행을 선택할 수 있는 API를 제공한다. UITableView의 allowsMultipleSelectionDuringEditing 라는 속성을 이용하면 된다.

Continue Reading