본문 바로가기
반응형

8

iOS - 객체 제어 Label과 Button을 클래스에 연결하면 각각 @IBOutlet, @IBAction이 클래스에 추가되는 것을 본 적이 있을 것이다. 이 '@' 키워드로 시작하는 것을 Annotation이라고 하며 변수나 메소드의 성격을 컴파일러에게 알려주는 역할을 한다. @IBOutlet은 Property에, @IBAction은 Method에 각각 추가되는데 이는 IB(Interface Builder)에 관련된 것이라는 의미를 나타낸다. 이렇게 IB Annotation이 붙은 Property나 Method들은 처음 앱이 Build될 때 컴파일러가 확인하고 연결 정보를 찾아 IB의 객체와 서로 연결해준다. 연결된 정보들은 Xcode의 Connection Attribute 탭에서 확인할 수 있다. 이 탭은 다른 Insp.. 2021. 11. 7.
iOS와 코코아 터치 프레임워크 간단한 토이 프로젝트, 클론코딩 등의 iOS 애플리케이션을 만들어 보았다면 UIApplication, UIViewController, UILable, UIButton등의 클래스를 이용해본 적이 있을 것이다. 이는 Swift 문법에서는 배우지 않는다. 실제로, 플레이그라운드에서 let btn = UIButton() let title = UILabel() 와 같은 코드를 작성해보면 존재하지 않는 클래스라는 오류가 발생할 것이다. 왜냐하면, 이들 클래스(UI로 시작하는)는 모두 UIKit Framework에 속해있기 때문에 import UIKit을 상단에 작성해야 한다. 뿐만 아니라, 네트워크나 날짜 연산 등의 기능 처리를 위해서는 Foundation Framwork, 애니메이션 처리를 위해서는 Animati.. 2021. 11. 6.
iOS 앱의 구조 앱의 기본 구조 iOS 애플리케이션은 Custom Code와 System Framework로 나뉘어져 있다. Custome Code는 우리가 직접 작성하는 코드, System Framework는 기반 환경이며 개발자가 건드릴 수 없는 영역이다. C 언어에 뿌리를 둔 모든 애플리케이션은 main() 함수로부터 시작된다. 이를 Entry Point라 하는데 Objective-C로 만들어진 iOS 애플리케이션도 C언어 기반이므로 main() 함수로부터 시작된다. #import #import "AppDelegate.h" int main(int argc, char* argv[]){ @autoreleasepool{ return UIApplicationMain(argc, argv, nil, NSStringFromCl.. 2021. 11. 5.
첫 iOS 앱 클론코딩 후기 웹 개발과 비슷한 점이 꽤 많으면서도 다르다. 웹 개발을 공부할 때에는 너무 많은 기술들과 디자인에 대한 두려움에 내 길이 아닌것 같다고 생각했었는데 오토 레이아웃 부분이 내가 어려워했던 CSS의 구조를 짜는 것과 비슷해서 좀 걱정이 된다. 그래도 조금 더 쉬운 것 같긴하다. 스위프트 문법 부분에서 weak, 옵셔널과 같은 부분을 아직 완전 이해하지 못해서 문법 공부를 조금 더 해보고 다른 클론 코딩을 하면서 더 익혀가야겠다. 2021. 2. 10.
반응형