• iOS 프로토콜(iOS protocol)

    이전 글에서 Delegate에 대해 다뤘으니 이번에는 Protocol의 사용을 조금 보려고 한다. 일단, Protocol을 사용하면 객체 모델링 및 데이터의 흐름(?)이 깔끔해 진다. // Custom.h #import <UIKit/UIKit.h> @protocol Custom @property (nonatomic, strong) NSObject *object; - (NSObject *)doSomething; @end 이렇게 Custom이라는 Protocol을 만든 다음 아래와 같이 사용할 수 있다. // CustomThird.h #import <UIKit/UIKit.h>...


  • iOS 델리게이트 프로토콜(iOS delegate protocol)

    클래스업(ClassUp)에서 텍스트 뷰의 커스텀한 자동완성 형식을 구현하던 중 오랜만에 Delegate와 Protocol에 대한 고찰(?)아닌 고찰을 해보았다. 여기서는 Delegate에 대해서만 조금 설명해 보려고 한다. 일반적으로 Delegate는 아래와 같이 사용했다. // Custom.h #import <UIKit/UIKit.h> @protocol CustomDelegate <NSObject> @required // method - (void)myRequiredDelegateMethod; @optional // method - (void)myOptionalDelegateMethod; @end @interface Custom : NSObject @property...


  • 리액트 네이티브(React Native) 사용기 11편 - ListView에 수정, 삭제 반영

    리액트 네이티브(React Native), Expo로 이전 글까지 완료했으면 이제는 저장된 Content들을 수정, 삭제할 차례이다. 이 때, 고민해야할 것들이 몇가지 있다. 수정버튼을 누르면 컨텐츠 생성화면으로 가고, 내가 선택한 데이터들이 표현되어 있어야 한다. 수정 후, ListView에 반영되어야 한다. 삭제 시, ListView에 반영되어야 한다. View에 버튼을 추가하는 것은 쉽기 때문에 생략하기로 하고 바로 수정하는...


  • 리액트 네이티브(React Native) 사용기 10편 - ListView 사용하기

    리액트 네이티브(React Native), Expo로 이전 글까지 완료했으면 이제는 저장된 Content들을 ListView에 뿌릴 차례이다.. 일단 ListView 구현에 대한 부분을 아예 모르기 때문에 Document를 참조했다. // ... export default class HomeScreen extends React.Component { // ... constructor() { super(); const ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2}); this.state =...


  • 리액트 네이티브(React Native) 사용기 9편 - Picker의 사용 및 setState

    리액트 네이티브(React Native), Expo로 이전 글에서 사용자관련 테이블을 만들었다. 사용자 테이블을 만들었으니 사용자 생성화면을 만들면 되는데, 이는 컨텐트 작성화면과 크게 다른 부분이 없기 때문에 생략한다. 컨텐트 화면의 구성을 간단히 이야기하면… 사용자 선택(Picker 사용) 글 작성 이미지 추가 등록 위의 4과정이 필요하다. 여기서 리액트 네이티브(React Native), Expo의 Picker컴포넌트는 사용자 선택에서 사용될...