//숫자 표현 (화폐단위, 퍼센트, 소수점 절사 등등) double num = 12345678.12345; NSNumberFormatter *fmt = [[NSNumberFormatter alloc] init]; [fmt setNumberStyle:kCFNumberFormatterNoStyle]; NSString *str = [fmt stringFromNumber:[NSNumber numberWithDouble:tempResultNum]]); [fmt release]; //각각의 스타일을 설정할 경우 다음과 같은 결과값을 가지게 된다. kCFNumberFormatterNoStyle : 12345678 kCFNumberFormatterDecimalStyle : 12,345,678.123 kCFNumberF..
어플내에서 하나의 데이터를 여러곳에서 사용하거나 하나의 View를 여러곳에서 접근할 경우가 생긴다. 이럴 때 전역으로 객채를 생성해서 사용하게 된다. 처음에는 UserDefault값을 이용하여 모든 공유객채를 appDelegate에 넣어 사용하였지만 어플규모가 커지면서 별도의 공간을 만들어 놓고 사용해야 할듯 싶어 singleton을 사용하거나 extern을 사용하게 되었다. UserDefault 사용하기 //extern 을 사용하기 extern으로 선언된 객채를 사용하기 위해서 해당 객채가 속한 클래스를 import해서 바로 사용하면 된다. 해당 클래스에 접근하고자 하는 속성은 @property 설정이 되어 있어야 한다. 해당 클래스를 alloc 생성하지 않고 사용해도 되는 점에서 편리하다. #impo..
//생성 mainViewController = [[MainViewController alloc] init]; naviController = [[UINavigationController alloc]initWithRootViewController:mainViewController]; [naviController setNavigationBarHidden:YES];//상단 타이틀 배경 숨김 [self.window addSubview:naviController.view]; [mainViewController release]; //MainViewController 에서 다른 View를 추가할 경우 SubViewCont *subView = [[SubViewCont alloc] initWithFrame:CGRectMa..
해당 어플에서 환경설정 값이나 사용자 정보를 보관해야 할 경우가 생긴다 그 때 자주쓰게 되는것이 NSUserDefaults 이다. 전체 내용을 저장하고 불러올 수 있으며, 개별적으로 가능하다. //앱 삭제 후 재 설치 하더라도 값이 남아있음.//앱 최초 실행을 체크하기에는 캐쉬에 파일 생성 여부로 확인함. #pragma mark config -(void)configLoad { NSUserDefaults *UD = [NSUserDefaults standardUserDefaults]; if (UD) { g_Id = [UD objectForKey:@"id"]; g_Password = [UD objectForKey:@"password"]; num = [UD integerForKey:@"number"]; } } ..
NSUserDefaults 에 사용자 정보를 저장하기에는 그렇고 별도로 암호화/복호화 하기도 번거롭고 해서 중요한 정보인 사용자 id, password를 저장해놓고 사용하기 위해 keychain을 사용하였다. //애플 래퍼런스 문서 (해당 셈플코드에서 KeychainItemWrapper 클래스 소스를 가져다 쓰기바람 ) http://developer.apple.com/library/ios/#samplecode/GenericKeychain/Introduction/Intro.html#//apple_ref/doc/uid/DTS40007797-Intro-DontLinkElementID_2 // framework 에 Security.framework 추가. NSString *idKey = @"id"; NSStri..
화면 전환이나 어떠한 효과를 줄 때 touchBegan, touchesEnded에서 처리하고는 했는데 아래와 같이 콜백만 등록해 주면 되는 것도 있다. UISwipeGestureRecognizer *swipeGestureLeft = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeGestureLeft:)]; [self.view addGestureRecognizer:swipeGestureLeft]; swipeGestureLeft.direction = UISwipeGestureRecognizerDirectionLeft; [swipeGestureLeft release]; UISwipeGestureRecognize..
정리 잘 되어있는 렘군님 블로그 http://blog.naver.com/biboi99/90108496796 문제점들 정리 Windows 에서는 경로 지정에 문제가 없지만 Mac에서 이클립스 설치 후 확인 할 경우 경로 지정이 중요하다. 파인더에서 왼쪽 최 상위 HDD 의 /opt/local 경로에 아파치와 이클립스를 설치 해야한다. 이클립스의 작업폴더 경로도 /opt/local/eclipse/workspace 로 설정해 주었다. 여기서 jsp 파일에서 인증서 경로 는 아래와 같이 하였다. String certificatePath = "/opt/local/eclipse/workspace/apns/????.p12"; ???인증서 파일명을 설정해 주면 된다. pem, p12 모두 해봤지만 둘 다 문제 없이 호..
※ PickerView는 viewController에서만 호출된다 //MPMediaPicker(아이팟 리스트) //MPMediaPickerControllerDelegate 추가 - (void)showMusicPicker { MPMediaPickerController *picker = [[MPMediaPickerController alloc] initWithMediaTypes: MPMediaTypeMusic]; picker.delegate = self; picker.allowsPickingMultipleItems= YES; picker.prompt = @"MPMediaPicker"; [self presentModalViewController:picker animated:YES]; [picker releas..