[iOS] About Function (feat. method)

iOS

주로 Java를 사용하다가 iOS를 공부하는데 Objective-C를 공부하면서 함수라는 용어가 나와서 모호했던 개념을 다잡고자 정리합니다.
이번 포스트는 함수에 대해 알아보면서 메소드와이 차이도 간략하게 알아볼게요.

Function

함수와 메소드는 모두 코드 조각을 지칭하는 용어이지만 몇가지 차이점이 있습니다.
함수는 코드의 최상위 레벨에 선언되고, 메소드는 특정 형식 내부에 선언됩니다.
함수는 함수 이름만으로 호출 할 수 있지만, 메소드는 반드시 연관된 이름이나 인스턴스를 통해 호출해야 합니다.

TIL

[iOS] 새로운 뷰컨트롤러를 시작하는 방법

iOS

이틀…

버튼을 눌렀을때 메뉴페이지를 띄우는 부분을 구현할 차례가 왔습니다.
아직 iOS개발 초짜다 보니 이런것을 알아가는데도 시간이 굉장히 오래 걸리는 것 같습니다.
무려 이틀이나 걸렸네요.
검색해도 잘 안나오는 것이 안드로이드처럼 접근하면 안될 것 같다는 느낌이 듭니다.
각설하고 정리를 시작합니다.

ViewController

프로젝트 생성시 만들어지는 뷰 컨트롤러를 Main으로 잡았습니다.

ViewController는 위와 같습니다.
오른쪽 위에 메뉴를 눌렀을때 MenuViewController가 뜨도록 할거에요.

TIL

[iOS] UILabel을 클릭했을때 처리

iOS

개인 프로젝트를 진행하면서..

UILabel을 탭했을때 페이지를 넘어가거나 특정 일을 처리해야 하는 경우가 생겼습니다.
iOS와 특히 Objective C 문법 개념을 같이 학습하려고 하니 필요한 부분들은 정리해 둘 필요가 있는것 같습니다.
그래야 안잊어 버립니다..

검색해보니 생각보다 간단하게 처리할 수 있을 것 같습니다.
저는 viewDidLoad에 아래와 같이 UILabel을 클릭했을때 호출할 delegate와 action을 설정하였습니다.

1
2
3
4
5
6
7
8
- (void)viewDidLoad {
...
[labelMenu setUserInteractionEnabled:YES];
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(labelTap:)];
[tapGesture setDelegate:self];
[labelMenu addGestureRecognizer:tapGesture];
...
}

그리고 같은 파일안에서 labelTap을 정의하고 처리작업을 넣었습니다.

1
2
3
- (void)labelTap:(UITapGestureRecognizer *)recognizer {
NSLog(@"label is tapped");
}

이제 해당 UILabel을 클릭하면 Log가 찍히는 것을 볼 수 있을 것입니다.

TIL

[iOS] App Transport Security has blocked a cleartext HTTP

iOS

iOS를 공부하면서 개발하는데..

개인 프로젝트로 날씨를 보여주는 앱을 만들고 있습니다.
Objective C를 기반으로 공부하면서 시작하는데 http 통신에서 난데없이 에러가 발생했습니다.

에러 본문

App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure.
Temporary exceptions can be configured via your app’s Info.plist file.