D-day 구하기 오늘부터 특정일까지 D-day 구하는 소스입니다. 간단해요. 한번 해보시면 느낌이 오실겁니다. NSDateFormatter *format1 = [[NSDateFormatter alloc] init]; [format1 setDateFormat:@"yyyyMMdd"]; NSDate *DateOfBirth=[format1 dateFromString:@"20131220"]; NSDate *currentTime = [NSDate date]; int to = [[format1 stringFromDate:currentTime] intValue]; int birth = [[format1 stringFromDate:DateOfBirth] intValue]; if (to > birth) { titleOf..
NSMutableArray Sort NSMutableArray를 특정 키값으로 sort하는 방법이다.아래 소스는 딕셔너리에 들어가 있는 키값 "dday" 로 sort한 것이다. NSMutableDictionary* newDrink = [[NSMutableDictionary alloc] init]; [newDrink setValue:f_surl forKey:@"url"]; [newDrink setValue:f_sname forKey:@"name"]; [newDrink setValue:f_simg forKey:@"img"]; [newDrink setValue:f_sbody forKey:@"body"]; [newDrink setValue:f_sfday forKey:@"fday"]; [newDrink setVa..
string 정규식 사용하여 html tag 삭제하기 string에 html tag가 포함되어 삭제하고 싶을 때 사용합니다.예를들면 , 와 같은 태그들을 찾아내 공백으로 치환합니다. -(NSString*)stringByStrippingHTML:(NSString*)stringHtml { NSRange r; while ((r = [stringHtml rangeOfString:@"&[^;]+;" options:NSRegularExpressionSearch]).location != NSNotFound) stringHtml = [stringHtml stringByReplacingCharactersInRange:r withString:@""]; NSRange r1; while ((r1 = [stringHtml ra..
데이터 인코딩 (데이타 인코딩이 UTF8 일때) NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; (데이타 인코딩이 EUC-KR 일때) NSString *string = [[NSString alloc] initWithData:data encoding:0x80000000 + kCFStringEncodingDOSKorean]; (데이타 인코딩이 ASCII 일때) NSString *string = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];[출처] xcode object casting 방법|작성자 헤파이스토스
앱스토어 리뷰 페이지 이동 게임관련 어플리케이션을 보면 "앱스토어에 리뷰를 남겨주시면 아이템을 준다"는 팝업창 구현 후 실제 아이템을 지급해 주는 기능을 자주 볼 수 있다. 사실 앱스토어에 실제로 리뷰를 남겼는가의 판단은 불가능하다. 정말 리뷰를 남긴 사용자들에게 아이템을 지급하기 위해서 리뷰작성 아이디를 특정 메일로 받고 확인 후 지급해야 하는 방식을 사용하기도 한다. 대부분의 아이템 지급은 팝업창을 띄운 후 확인을 눌렀을 때 바로 지급이 되는 경우이다. 리뷰페이지로 이동 했을 시 리뷰를 남긴것으로 간주하는 것이다. 리뷰페이지로 이동하는 기능을 구현해 보자. 간단하다. NSURL *url = [NSURL URLWithString:@"itms-apps://itunes.apple.com/WebObjects..
스레드 Thread [self performSelectorInBackground:@selector(getHtmlParserData) withObject:nil]; [NSThread detachNewThreadSelector:@selector(getHtmlParserData) toTarget:self withObject:nil]; [self performSelector:@selector(getHtmlParserData) withObject:nil afterDelay:0.3];
문자열 검색 (특정 문자 찾기) string 데이터에서 특정 문자열을 찾는 방법입니다. NSString *str = @"hi there"; NSRange strRange; strRange = [str rangeOfString:@"there"]; if (strRange.location != NSNotFound) {NSArray *myWords = [str componentsSeparatedByString:@"i"]; NSString *str1 = [myWords objectAtIndex:1];} str 변수로 선언된 NSString에서 "there" 라는 문자열이 있는지 확인하는 방법입니다.
modalviewcontroller 띄우기 modalviewcontoroller 띄우는 방법입니다.네비게이션 컨트롤러를 모달뷰로.. -(IBAction) saveList:(id)sender { listView = [[ListViewController alloc] initWithNibName:@"ListViewController" bundle:nil]; UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:listView]; [self presentModalViewController:navController animated:YES]; }
구글링만 잘해도 반은 하는구나 개발하면서 느끼는 점.. 물론 직접 머리쓰면서 레퍼런스 찾아보고 하는것도 좋지만 (여유가 있다면) 회사에서 일하다 보니 급하게 일을 처리해야 할때 (데드라인 압박) 구글링과 맥부기 카페를 전전하며 stackoverflowgithub 많이들 가보셨을거라 생각한다. 본인은 대부분의 답을 저 두곳에서 찾는다.물론 국내 개발자 분들 블로그도 수도없이 다녀간다. 나에게 필요한 소스를 찾는게 중요하다. "어떤 키워드로 찾을 것인가" 애매하다. 가령 iOS 기본 메모장앱과 같은 샘플이 필요하다고 했을 때뭐라고 키워드를 쳐야 원하는 코드를 찾을 수 있을까? 처음에는 쉽게 memo sample을 쳐본다. 잘 나오지 않는다. 하지만 돌아다니다가 힌트를 얻는다note라는 키워드가 눈에 띄게 보..
아이폰5 컴파일시 라이브러리 빌드 오류 개발된앱을 아이폰5로 기기에 빌드시 다음과 같은 오류가 발생libKISACrypto.a 라이브러리가 armv7s 아키텍쳐를 지원하지 못해서 생기는 문제 file is universal (2 slices) but does not contain a(n) armv7s slice: /xxx/xxx/libKISACrypto.a for architecture armv7s clang: error: linker command failed with exit code 1 (use -v to see invocation) 실제로 그런지 확인 한번 해보겠습니다.터미널 실행후 라이브러리 파일이 있는 곳까지 cd 로 이동아래 명령어를 실행합니다. file libKISACrypto.a 아래 터..
textview 키패드 backspace 버튼 및 다음문장(return) 버튼 이벤트 알아내기 제목이 조금 어렵나요UITextView를 터치하고 올라오는 키패드에서 backspace 버튼과 다음문장(영어로 return) 버튼 이벤트값을 알아내는 방법 입니다. 네 아래 소스를 보면 됩니다. - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {//backspace버튼 클릭시 if (range.length == 1 && [text length] == 0) {//이벤트처리 } //다음문장 버튼 클릭시 else if ([text hasSuffix:@"\n"]){//..
static library 합치기 오늘은 어제 배운 두개의 static library를 하나로 합치는 방법 입니다.라이브러리를 하나로 합치는 경우는 이렇습니다.일반적으로 lib.a 파일과 header 파일을 sdk로 만들어서 배포하는 경우가 많은데이중 lib.a 파일은 시뮬레이터용과 디바이스용 두가지로 배포를 많이 합니다. 이런경우 두개의 파일을 하나의 라이브러리로 만들어서 쓰는 방법입니다. 먼저 터미널을 여시고 다음을 입력합니다.입력하기 전에 해당 라이브러리 파일이 있는 디렉토리로 이동을 해야겠죠cd /dir 또는 cd dir 명령어를 써서 해당 디렉토리로 이동합니다. libtool -static libGIOPMap.a libGIOPMapSim.a -o libGIOP.a 디바이스용 : libGIOPMa..
navigationbar background image navigationbar background image 넣는 방법입니다. custom class를 만들어서 넣는 방법도 있지만 직접 코드로 작성해서 넣는 방법입니다.두가지 방법이 있는데 간단한 코드로 넣는 방법 (네비게이션바에 left, right 버튼이 있을때 가려지지 않는다) [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"navigation_ucloudpersonal.png"] forBarMetrics:UIBarMetricsDefault]; 이미지를 생성해서 프레임 조절하고 addSubview 해서 넣는 방법 (네비게이션바에 left, right ..
tableview cell background image 테이블뷰 셀에 백그라운드 이미지 넣는 방법입니다. 블로그 하면서 자주 쓰게 되는 코드나 공유하고 싶은 코드를 짬내면서 쓰고 있는데 역시 tableview에 관한 게 가장 많은 것 같다. 테이블뷰는 거의 customcell을 자주 사용해서 셀배경 이미지 넣는 부분은 xib에 imageview 넣어서 바로 적용시키는데 이번에는 customcell 없이 테이블뷰에 적용시켜 보았다. 구글 검색을 하니 여러가지 방법이 많이 나왔다. 그런데 약간의 문제가 있는 방법들이 여러 있었지만 최종적으로 문제없이 적용이 된 소스를 공개한다. cell.backgroundView = [ [[UIImageView alloc] initWithImage:[ [UIImage im..
tableview 최상단으로 이동 [mTable setContentOffset:CGPointMake(0, 0) animated:NO]; 테이블뷰 갱신이나 reload 시 자주 써먹게 되는 방법 update테이블뷰 최하단으로 이동 [filedata count]은 row의 전체갯수이며 row의 마지막값은 전체갯수보다 항상 -1 작으므로 [filedata count] - 1 NSIndexPath *indexPath = [NSIndexPath indexPathForRow:[filedata count] - 1 inSection:0]; [mTable scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionBottom animated:YE..
테이블뷰 다음 페이지 불러오기 테이블뷰 메소드에 이런 게 있었다니 ...방금 급 발견하고 더보기 기능 구현 이전에는 위 이미지처럼 테이블뷰 마지막 셀을 하나 추가해서 버튼을 클릭했을 때 다음 페이지를 불러오도록 구현했는데,, 어떤 어플에 마지막 셀이 보여질 때 자동으로 다음데이터를 불러오는 기능을 본후 언젠가는 해봐야 겠다고 생각 하던중! 구글링으로 아래 메소드를 찾음.. willDisplayCell *코드 설명- 파싱데이터 셀에 뿌려주는 형식이며 20개씩 불러오고 총 데이터가 20개 이상일 numberOfRowsInSection 카운트 +1 해준다. More 버튼을 넣기 위해서.. - 만약 More 버튼 없이 구현하기 위해서는 아래 데이터의 [getData count]를 [getData count] -..
주소록 데이터 접근 (email) /* //email 정보 ABMutableMultiValueRef eMail = ABRecordCopyValue(ref, kABPersonEmailProperty); CFIndex count = ABMultiValueGetCount(eMail); if (count == 1) { CFStringRef value = ABMultiValueCopyValueAtIndex(eMail, 0); NSString *emailid = (NSString*) value; [mudicString setObject:emailid forKey:@"HomeMail"]; CFRelease(value); } else { for (CFIndex i = 0; i < count; i++) { CFStrin..