목록iOS (29)
어흥
1. 자판이 UI를 가리지 않도록 설정 개발문서 developer.apple.com/documentation/uikit/uitextview?language=objc 를 참조한다. 해당 링크에서 Keyboard Notifiactions에 적힌 4가지 상태 중에서 Will이 적힌 2개를 사용한다 (1) 해당 기능이 적용된 VC에 property를 사용하여 토큰을 정의한다 //A VC.m @property (strong, nonatomic) id willShowToken; @property (strong, nonatomic) id willHideToken; (2) viewDidLoad() 함수에 다음 코드를 작성한다 //A VC.m -(void)viewDidLoad { . . . //자판을 켰을 때, 글을 가..
문제점: Present Modally나 다른 세그웨이로 화면을 전환했는데 다음 화면이 전체 화면이 아닌 경우(A vc ->B vc) - +버튼을 눌러서 화면을 전환하고자 할 때 다음과 같이 전체 화면으로 표시되지 않는다 [위의 문제로 인해 발생하는 문제] 가정) 아래와 같은 코드가 작성되어있다 - A vc.m에는 viewWillAppear 함수가 구현되어 있다 - B vc.m에는 Save버튼을 눌렀을 때 dismissViewControllerAnimated 코드가 작성되어 있다 //A vc.m -(void)viewWillAppear:(BOOL)animated { NSLog(@"Appeared!!"); [super viewWillAppear:animated]; [self.tableView reloadDat..
1. 프로젝트 생성 - Product Name: 프로젝트 명을 기입한다 - Use Core Data에 체크를 하여 Core Data에 필요한 기본 코드 자동으로 생성 2. 프로젝트 설정 (1) Deployment Target에서 iOS 최소버전을 설정한다 (2) Display Name에서 앱의 이름을 정의한다 3. 앱 아이콘 지정 - http://appiconmaker.co 에 접속하여 원하는 이미지를 올린 후 Generate -> download iOS icon zip files을 선택한다.(Generate하기 전, 이미지의 가로/세로 크기를 반드시 일치시킨다) - 아래 그림과 같이 iOS 프로젝트의 Assets.xcassets > Appicon에서 60pt의 2x(120X120), 3x(180X180..
[구현 사항] - 이름(strong), 취미(strong), 성적(int 형)을 가진 Student Cocoa Class 생성 - Student를 여러명 담는 StudentClass Cocoa Class 생성 - 학생을 생성, 학생을 학급에 추가, 삭제, 검색 할 수 있는 기능 구현 - 학급에 존재하는 학생 정보 출력 [학생 클래스] - 모든 변수를 property로 선언하며, 이름과 취미만 Strong으로 선언한다 - 학생 정보 출력의 경우, 해당 학생에 대한 정보를 출력하도록 한다 - initWithName 함수를 통하여 이미 생성된 빈 객체에 값을 할당해서 넘겨준다 - studentWithName 함수를 통하여 객체를 생성하고 값을 초기화한 이후, 반환한다 -> 내부에서 객체 생성 이후, 객체 반환..
1. 기능 - 객체를 저장/복원한다 - 인코딩과 디코딩을 통해 객체의 정보를 파일에 저장하고 읽어온다 - 저장된 파일을 읽어올때에는 인코딩문제로 인해 제대로 못 읽어오는것 같다(앱을 통해 파일을 여는 경우) -> 설정문제인것 같은데... //Rectangle.h #import @interface Rectangle : NSObject //NSCoding 프로토콜 채택 @property int width,height; @end //Rectangle.m #import "Rectangle.h" @implementation Rectangle //Decoder로 파일로부터 불러온 객체에서 가로와 세로 값 저장 -(id)initWithCoder:(NSCoder *)aDecoder { self = [super init..
1. 배열(NSArray, NSMutableArray) - NSArray: 불가변형 배열로 수정 불가 - NSMutableArray: 가변형 배열로 수정 가능 #import int main(int argc, const char * argv[]) { @autoreleasepool { //배열 선언 NSArray *array1 = [[NSArray alloc] initWithObjects:@"A",@"B",@"C", nil]; NSArray *array2 = @[@"1",@"2",@"3"]; //배열 출력 NSLog(@"Array1 : %@", array1); NSLog(@"Array2 : %@",array2); //배열의 특정 원소 출력 방법 NSLog(@"3rd item : %@",[array1 obje..
1. 서브스트링 - range에 문자열을 자를 기준을 정의한다(여러개 선언 불가) - substringToIndex : range에 정의한 기준을 최초로 만나기전까지의 문자열을 반환 - substringFromIndex: range에 정의한 기준을 최초로 만난 이후부터 나머지의 길이(range.length)만큼 반환 NSString *str1 = @"123,4567,123"; NSRange range = [str1 rangeOfString:@","]; if(range.location!=NSNotFound){ NSString *bc = [str1 substringToIndex:range.location]; NSString *ac = [str1 substringFromIndex:range.location+r..
1. ==, isEqual - 원시 타입에선 '=='를 사용하여 값 비교 - 포인터 타입에선 '=='를 사용하여 주소값 비교(같은 객체인가?) - isEqual : 내용 비교 NSString *str1 = @"abcd"; NSString *str2 = [NSString stringWithFormat:@"ab%@",@"cd"]; NSString *str3 = @"abcd"; NSString *str4 = str3; NSLog(@"%@ %@ %@ %@",str1,str2,str3,str4); // abcd abcd abcd abcd str1==str2 ? NSLog(@"같다") : NSLog(@"다르다"); //다르다 str1==str3 ? NSLog(@"같다") : NSLog(@"다르다"); //같다 st..