DirTy™의 하루일과 40

[IOS] 간단하게 백그라운드 스레드 돌리는법...

포스팅 되어있는 Task를 이용하는 방법 말고 간단한 방법도 찾다보니 있었다.역시... 이미 구현되어있는 api 를 모르면 바보되는건 모든 프로그래밍에서 통용 되는듯 하다...아래의 api를 사용하면 간단하게 백그라운드 상태에서 수행하는 것이 가능하다. [self performSelectorInBackground: withObject:];

[IOS] device에서 unique 한값??

디바이스에서 어느 unique 한값으로 기기 식별을 하는것이... 현재는 불가능 한것 같다.예전에는 udid(디바이스 고유넘버)나 전화번호를 sdk자체에서 불러오는 것도 가능 했었던것 같고그외 wi-fi mac address나 imei 등 기기자체내의 고유 식별자를 불러오는 것 가능 했었던것 같은데 현재는 그 어떤것도 사용 할 수가 없다.(리젝대상, 인하우스 배포라면 가능하겠지...) 이걸 인식하게 된 계기가 사내에서 만든 앱에서 어떤 정책 때문에 uuid를 고유넘버로 인식해서 사용중이었는데 uuid가 앱을 삭제하고 재설치 하거나 업데이트 될때마다 uuid가 변경되어 정책자체에 문제가 생겨버렸다... 여러 매체 사이트 검색결과 ios7이후로는 ios에서 기기자체의 unique한 값은 없다고 생각하면 된다..

[IOS] View Life Cycle

뷰 컨트롤러에서 뷰의 라이플 사이클에 관하여 기록해 놓는다.life cycle 의 순서는 의외로 중요하다. 어디에서 그 동작을 해야 유연하게 적용이 되며화면이 refresh됐을때 불리우는 함수들 등 어디에서 호출을 해야하는지 생각을 할때 꼭 필요하다. View의 life cycle과 관련한 인스턴스 메서드가 호출 되는 시점은 다음과 같다. didReceiveMemoryWarning - 컨트롤러가 메모리 경고를 받았을 때didRotateFromInterfaceOrientation - 컨트롤러의 뷰가 회전했을 때loadView - 컨트롤러 뷰가 생성될 때viewDidAppear - 컨트롤러 뷰가 나타난 직후viewDidDisappear - 컨트롤러 뷰가 사라진 직후viewDidLoad - 컨트롤러 뷰가 메모..

[IOS] NSArray에 NSDictionary데이터 넣기

NSArray에 하나의 데이터가 아닌 여러개의 또 뭔가 구분을 지어서 데이터를 넣고 싶은경우가종종 생기는데 이게 초심자에게는 골치아픈 문제다. 나또한 그러했다.아래와 같은 방법으로 처리하면 아주쉽다.아래의 코드로 테이블뷰에서 섹션헤더, 섹션푸터, 테이블뷰 셀에 들어갈 텍스트를 넣어서 표현이 가능하다. NSArray *myList = [[NSArray alloc] init]; [myList addObject: [NSDictionary dictionaryWithObjectsAndKeys: @"헤더타이틀1", @"grouptitle", //@"푸터타이틀1", @"endtitle", [NSMutableArray arrayWithObjects: [NSDictionary dictionaryWithObjectsAnd..

[IOS] UIAlertController에서 액션시트 사용하기

IOS8에서 액션시트를 처음 사용해보게 되어서...IOS8에서 새롭게 등장한 UIAlertController를 사용해서 구현하였다. 사용법은 정말 간단하다. // UIAlertController를 액션시트 형태로 생성UIAlertController *alertController = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet]; // 액션1 설정UIAlertAction *cancelAction = [UIAlertActionactionWithTitle:NSLocalizedString(@"취소", @"Cancel Action")style:UIAlertActio..

[IOS] qr code reader, generator

ios앱 구현할때 자주 사용은 안하겠지만...프로젝트중에 qr code 생성 및 읽기 기능이 필요하여 구글신의 도움을 받아 구현하였다. qr code reader - (void)viewDidLoad{ [super viewDidLoad]; // qrcode 읽을때 사용할 카메라 세션 설정 [self AVFoundationQRViewInitCamera];} // 카메라 세션을 설정하고 카메라를 실행 시킨다.- (void)AVFoundationQRViewInitCamera { _session = [[AVCaptureSession alloc] init]; AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];..

[IOS] pop segue에서 이전뷰로 갈때의 데이터 전달 방법

pop된 view에서 이전 뷰로 돌아갈때 데이터 전달하는 방법은 보통 2가지 방법이 있다. 나는 1번을 자주 사용한다. 1. push된 뷰 컨트롤러에 델리게이트를 지정하여 델리게이트를 통해 전달 팝된뷰 - (void)ttesttableViewController:(testtableViewController *)controller id:(NSString *)pid pw:(NSString *)pass { NSString *id = pid; NSString *pw = pass; } 이전뷰 @class testViewController; @protocol testViewControllerDelegete - (void)testViewController: (testViewController *)controller i..

[IOS] sqlite 사용하기

처음 아이폰 프로그래밍을 접하고 가장 많이 하는것이 아마도 네비게이션 컨트롤러 위에 테이블뷰를 넣고 테이블뷰위에 데이터를 뿌리는 걸 가장 많이 하는것 같다. 실무에서도 많이쓰이고 구조를 이해하는데 이것만큼 좋은것이 없다고 생각된다. 테이블뷰위에 뿌려지는 데이터를 어딘가에 저장하고 싶어지기 마련인데 가장 많이 사용되는것이 sqlite일것 이라 판단된다.(나도 이것밖에 사용해본적이 없다.) 아래와같이 구현하였고 현재 이렇게 상용앱에서도 사용중이다. 일단 libraries 에 libsqlite3.dylib 을 추가해준다. // 데이터베이스를 확인하고 없다면 생성한다. - (void)checkAndCreateDatabase { NSString *docsDir; NSArray *dirPaths; // Get th..

[IOS] 초보자도 할수있는 singleton 패턴

싱글톤... singleton 프로그래밍에서는 아주 자주 접하는 말이다.말그대로 싱글 = 하나라는 뜻으로 프로그램안에서 하나의(혹은 제한된 갯수) 객체만을 생성하고 이를 프로그램이 죽을때까지 쓴다는(해제하고 다시만들수도있지만) 개념이다. 장점이라면 무분별한 객체 생성을 방지할수 있고단점이라면... 전역변수랑 다를것이없고 구조가 변경될 경우 변경되는 부분이 많아질 수있다는점?? 써도되고 안써도 되지만 나같은 경우는 전역변수로 많이 쓰는 편인데 그래도 쓰고싶어서 한번 사용해 보았다. 아래와 같이 테스트용으로 만들었고 결과는 잘된다. loginDataSingleton.h#define loginFilename @"Login.plist" //로그인정보 파일명 #import @interface LoginDataSi..