본문 바로가기

프로그래밍/iOS

(182)
[ios] [__NSDictionaryI setObject:forKey:]: unrecognized selector sent to instance 위 에러는 NSDictionary에 setObject: forKey: 함수를 호출 했을 때 문제가 된다. 만약 본인이 NSMutableDictionary라고 잘 선언했는데도 이 문제가 일어난다면, 최초 MutableDictionary를 설정할때 1. NSDictionary로 부터 그냥 값을 집어넣거나 2. [array objectAtIndex:]등으로 초기화를 한경우에 문제가 된다. 두가지 방법의 해결법은 1. [dic mutableCopy]; 2. [[array objectAtIndex: ] mutableCopy]; 위와같이 mutableCopy를 해주면 정상적으로 동작한다.
[ios] 시간 제한, 패키지 제한 걸기(타임락, 패키지 락) 해당 객체 사용을 시간이나 패키지 명등을 통해 제약을 걸고 싶을 때 사용하는 방법이다. 1. 타임락 - (id) init{ NSLog(@"IDCardRecognize init"); self = [super init]; if (self) { if (![self checkTime]) //시간을 체크하여 지난 경우는 init결과를 nil로 반환 return nil; } return self; } - (BOOL)checkTime{ NSDate *expiredDate = [self dateFromString:@"20140421" withFormat:@"yyyyMMdd"]; //해당날짜 설정 if ([[NSDate date] compare:expiredDate] != NSOrderedAscending) //해당날짜..
[ios] ios7에서 버튼에 외곽선 넣기 flat한 디자인은 좋으나 버튼 범위가 어디까지인지 모르겠다는 클라이언트의 의견에 따라.. 버튼에 외곽선 넣어야 할 경우가 있다. 그럴때에는 버튼변수에 _button.layer.borderWidth = 1.0f; //외곽선 _button.layer.cornerRadius = 10; //외곽선의 둥근정도 위와 같이 설정해 주면 된다.
[ios] 스토리보드 뷰전환, delegate설정 스토리보드를 사용하면 스토리보드창에서 버튼과 뷰 연결만으로 쉽게 만들 수 있다. 하지만 실제 코드상에서 무언가 작업을 하려면 어떻게 해야하는지 몰라 찾아보다가 여기에 기술한다. - 스토리보드 뷰 전환 [self performSegueWithIdentifier:@"BizcardRecognize" sender:self]; 여기서 IDentifier는 아래 그림과 같이 설정한다. 추가로 설명하자면 스토리 보드 상에서 버튼과 뷰를 연결하면 위와같이 화살표가 생긴다. 그것을 클릭하면 오른쪽 Utilities 창의 4번째 창인 Attributes Inspector창에서 Identifier를 설정할 수 있는 부분이 있다. - Delegate 설정하기xib에서 전환할때야 viewController를 생성하고 viewC..
[ios] 버튼 클릭시 로딩중 버튼 만들기 버튼을 클릭 시 동작을 하는 함수가- (IBAction) refresh : (id) sender{}라고 가정하자 이 함수 안에서 UIActivityIndicatorView* spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle : UIActivityIndicatorViewStyleGray];[spinner startAnimating];self.button = [[UIButton alloc] initWithCustomView : spinner]; //현재 버튼 변수에 로딩중 버튼을 넣는다. 동작을 마치면 self.button = sender; 해주면 원래 모습으로 돌아간다. (sender 자체가 클릭한 버튼을 의미함)
[ios] 구조 예전부터 Empty프로젝트를 생성해서 HelloWorld를 찍으려고 삽질을 많이했었다. 이번에 교육들으면서 그러기 위해선 구조파악을 잘해야한다고 들었다. 실제로 밑바닥부터 작성해 보았고 그러기 위한 구조 그림을 그려둔다. paint X란 툴로 직접그린것. 위와 같이 설정해 주면 동작하긴 하는데 하나 더 해줘야할 점이.plist (supporting Files에 있음)에 가서 행 추가를 한 뒤 main nib file name을 appDelegate를 만든 xib로 해야하는 것이 추가할 점이다. 이제 ios구조가 좀 더 눈에 들어오는 것 같다.
[ios]아이콘 프로젝트내에 여러 아이콘이 있는데 각각 역할이 궁금해서 적어봄 icon.png : 아이폰용 기본 어플리케이션 아이콘 (57*57)icon@2x.png : 아이폰4용 고해상도 어플리케이션 아이콘 (114*114)icon-72.png : 아이패드용 어플리케이션 아이콘(72*72)icon-Small.png : 아이폰용 기본 설정 아이콘 이미지(29*29)icon-Small@2x.png : 아이폰4용 고해상도 설정 아이콘 이미지(58*58)icon-Small-50.png : 아이패드용 설정 아이콘 이미지(50*50)
[ios] @property ios에선 따로 getter/setter 쓸 필요 없이 .h파일에서 @property 변수명; .m파일 @implementation아래에 @synthesize 변수명; 해주면 자동으로 //getter -(변수 타입) 변수명 { return 변수; } //setter -(void) set변수명:(변수타입)a { 변수명=a; } 위와 같은 getter/setter가 만들어 진다. 위 내용은 알겠는데 @property (nonatomic, retain) UIImage* img; @property (nonatomic, copy) NSString* name; @property (nonatomic, assign) BOOL enable; 위와 같이 nonatomic, atomic retain, copy, assign..