Item 6: Understand Properties 프로퍼티 속성 중 Memory-Management 관련된 속성인데 - assign : The setter is a simple assign operation used for scalar types, such as CGFloat or NSInteger. - strong : This designates that the property defines an owning relationship. When a new value is set, it is first retained, the old value is released, and then the value is set. - weak : This designates that the property define..
Item 1: Familiarize Yourself with Objective-C's Roots Item 2: Minimize Importing Headers in Headers When writing an import into a header file, always ask yourself whether it’s really necessary. If the import can be forward declared, prefer that. If the import is for something used in a property, instance variable, or protocol conformance and can be moved to the class-continuation category, prefe..
Objective-C 문법에서 왜 항상 변수 앞에 *로 선언하나 궁금했었는데.. NSString *someString = @"The string"; This syntax, mostly lifted straight from C, declares a variable called someString whose type is NSString*. This means that it is a pointer to an NSString. All Objective-C objects must be declared in this way because the memory for objects is always allocated in heap space and never on the stack. It is illegal to d..
/ 를 쓴 이유는 코드를 어떻게 짜느냐에 따라 그냥 다 되니까 ~ = data passing using protocol = access variable in another class 우선 내가 작성한 예시는 이렇게 ViewController 위에 얹혀있는 Custom Button 버튼을 누르면 그 버튼 클래스의 delegate 를 통해 ViewController에서 특정 작업을 수행하는 예시이다. 터치 이벤트는 ViewController가 아닌 CustomButton 클래스에 구현이 되어있는 상태로 핵심은 Custom Button 이라는 클래스에서의 동작이 ViewController 라는 다른 클래스에서 수행된다는 점이다 !! 이렇게 수행되도록 하는 방법에는 여러가지가 있는데 그 중에 내가 자주 사용하는..
부제 : 어제 읽었는데 오늘 아침되니 까먹어서 결국 정리하는 글 "스위프트에서 Static은 '타입' 프로퍼티 혹은 '타입' 함수를 의미한다. 'static'과 'class' 프로퍼티/함수와의 차이점은 'class' 프로퍼티/함수는 오버라이딩이 가능하지만, 'static'은 오버라이딩이 불가능하다는 점이다." 이게 구글에 쳤을 때 나오는 대표 답변이고, 이제 여기 나온 답변을 하나씩 뜯어보자! 1. '타입(Type) 프로퍼티/함수' 가 뭔데? 혹시 프로퍼티가 뭔지 몰라.. 프로퍼티(property)가 뭔지 구글에 검색해보면 .. 이런 답변이 나오는데 사실 정확히 어떤 단어로 정의하기는 힘든 것 같다. 그냥 "thing" .. 정도가 좋겠다. 우선 이해를 돕기위해 이하는 모두 메서드로 설명해보겠다! 1-1..
우선 본 글은 - MVC(Model-View-Controller)와 MVVM(Model-View-ViewModel)에 대해 .. 언뜻이라도 들어본 분들 - 그치만 잘 이해가 가지 않은 분들 - 무엇보다 iOS 개발을 (공부)하시는 분들 이 읽었을 때 가장 효과가 나타날 것 같은 글입니다 제가 잘못 알고 있는게 있다면 꼭 지적해주세요 ㅠㅠ!! 참고자료/출처이자 먼저 읽으면 좋은 글들 (전반적인 이해에 가장 큰 도움이 되었음) [Introduction to MVVM] www.objc.io/issues/13-architecture/mvvm/ Introduction to MVVM · objc.io I got my first iOS job at 500px in 2011. I had been doing iOS co..
pubspec.yaml name: server_app description: A new Flutter server application. # The following line prevents the package from being accidentally published to # pub.dev using `pub publish`. This is preferred for private packages. publish_to: 'none' # Remove this line if you wish to publish to pub.dev # The following defines the version and build number for your application. # A version number is th..
/ 기록용이라 사담이 많을 수 있습니다. 해당 애플리케이션을 개발하면서 겪은 일과 느낀점, 문제점을 적었습니다. / 실장님께서 첫 번째 과제로 소켓 통신을 이용한 안드로이드 채팅 애플리케이션을 만들어보라고 하셨다. 첫날은 소켓 없이 firebase라는 걸로 채팅을 만들려고 했었는데, 다음 날 소켓 통신으로 구현해야 한다고 말씀해 주셔서 첫날은 사실상 "firebase에 대해서 알게 된 걸로" 치고 넘어갔다. 둘째 날은 그래서 구글에 '소켓', '소켓 통신 서버' 별의별 키워드를 다 쳐보면서 구글에 올라온 여러 코드들을 우선 쳐보고 돌렸다. 간만에 내가 예전에 네이버 블로그에 올렸던 JAVA 카테고리의 'TCP/IP 예제'로 올린 소켓 채팅 프로그램 https://varyeun.blog.me/2..
뷰페이저 : 좌우 스크롤을 통해 여러 개의 화면을 전환할 수 있도록 만든 것 뷰페이저 안에 들어가는 각각의 화면은 프래그먼트로 만들 수 있으며 어댑터 패턴을 사용하여 프래그먼트들을 관리할 수 있다. 페이저타이틀스트립(PageTitleStrip) : 프래그먼트의 총 개수와 현재 보고 있는 프래그먼트가 몇 번째 프래그먼트인지 아이콘으로 간단하게 알 수 있도록 해주는 것 (탭스트립을 사용하면 탭 모양으로 구분하여 보여준다.) MainActivity.java package com.example.mypager; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatAc..
우선 dependency에 design 추가하고 gradle에서 싱크를 맞춰준다. 이렇게 - 나는 에러가 나서 에러메시지대로 minSdkVersion을 21로 올려줬고 - 밑에 보면 design 의 버젼은 현재 targetSdkVersion인 29로 맞춰줬다 그리고 탭을 만들어주는거기때문에 처음 메인액티비티 만들 때 디폴트로 생성되는 액션바는 없애준다. 밑에 No로 하면 됨. fragment1, 2, 3 . java fragment1, 2, 3 숫자만 바꿔준다 MainActivity.java package com.example.mytap; import androidx.appcompat.app.AppCompatActivity; import androidx.fragment.app.Fragment; impor..
- Total
- Today
- Yesterday
- 부가데이터
- 터치리스너
- 안드로이드
- subscript
- 카카오톡열기
- allcases
- 프래그먼트매니저
- 알림대화상자
- CaseIterable
- 전화걸기연결
- 표현패턴
- 다이얼연결
- 액션바
- Objective-C
- 비트맵버튼
- 프래그먼트
- 전화연결하기
- prepareforreuse
- 상태드로어블
- ios
- 어댑터
- 뷰페이저
- swift
- 페이저타이틀스트립
- 제스처디텍터
- 스낵바설정
- 인플레이터
- objc
- 쉐이프드로어블
- 데이터
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |