본문 바로가기
[Effective Objective-C] #30 ARC 를 사용하여 reference count 를 쉽게 만들라 [Effective Objective-C] #30 ARC 를 사용하여 reference count 를 쉽게 만들라 출처 : Effective Objective-C -Clang 컴파일러 프로젝트(맥 OS X 와 iOS 개발에 사용되는 컴파일러 프로젝트)는 문제가 있는 참조 세기의 위치를 가리킬 수 있게 정적 분석기를 도입했다.이 정적 분석기를 통해 메모리 누수가 있다고 알려줄 수 있다.어디에 메모리 관리 문제가 있는지도 알려줄 수 있다.이것이 ARC 가 만들어진 배경이다. -ARC 는 이름이 말하는 그대로의 일을 한다.즉 reference counting 을 자동으로 한다.그래서 이전 코드 조각에서는 release 등을 써 주던 것을 이제는 하지 않아도 ARC 가 알아서 추가해준다. -ARC 를 사용할 때.. 2017. 9. 23.
[Effective Objective-C] #23 객체 간 통신에 델리게이트와 데이터 소스 프로토콜을 사용하라 [Effective Objective-C] #23 객체 간 통신에 델리게이트와 데이터 소스 프로토콜을 사용하라 출처 : Effective Objective-C -프로토콜은 자바의 인터페이스와 비슷한 기능이다.오브젝티브-C 는 다중 상속을 지원하지 않는다.그래서 프로토콜이 클래스가 구현해야 할 메서드 집합을 정의할 방법을 제공한다.프로토콜은 대부분 델리게이트 패턴을 구현하기 위해 사용한다. -프로토콜을 배워서 사용하면 코드에 사용 방법을 훌륭하게 문서화 할 수 있어 유지 보수하기 훨씬 쉬운 코드를 만들 수 있다. -카테고리 역시 오브젝티브-C 의 핵심 기능 중 하나다.카테고리는 상속을 사용해야 하는 다른 언어와는 달리 클래스를 상속받지 않고 메서드를 추가할 수 있게 하는 기능이다.이 기능은 오브젝티브-C .. 2017. 9. 3.
[Effective Objective-C] #22 NSCopying 프로토콜을 이해하라. [Effective Objective-C] #22 NSCopying 프로토콜을 이해하라. 출처 : Effective Objective-C -오브젝티브-C 에서는 copy 메서드를 이용하여 객체를 복사할 수 있다.자신이 만든 클래스가 복사될 수 있게 하려면 메서드가 하나뿐인 NSCopying 프로토콜을 구현하면 된다.- (id)copyWithZone:(NSZone*)zone -모든 앱이 단일 존(기본 존)을 가진다.그래서 이 메서드를 구현할 때 zone 파라미터는 무시해도 된다. -copy 메서드는 NSObject 내에서 구현되어 있다.그리고 기본 존을 이용해 copyWithZone: 을 호출한다.그냥 copy 를 재정의하고 싶겠지만 꼭 copyWithZone: 을 대신 구현해야 한다.- (id)copyW.. 2017. 9. 2.
[Effective Objective-C] 목차와 요약을 통해 한 눈에 알아보는 Effective Objective-C #9 ~ #16 [Effective Objective-C] 목차와 요약을 통해 한 눈에 알아보는 Effective Objective-C #9 ~ #16 #9 : 클래스 클러스터 패턴을 사용해 구현의 상세 내용을 숨겨라. 클래스 클러스터 패턴은 간단한 퍼블릭 퍼사드 뒤편에 상세 구현을 숨길 때 사용할 수 있다. 클래스 클러스터는 시스템 프레임워크에서 널리 사용된다. 클래스 클러스터의 퍼블릭 추상 클래스의 하위 클래스를 만들 때는 항상 주의를 기울여야 한다. 그리고 문서가 있으면 반드시 먼저 읽어봐야 한다. 정리자 주 : 자바의 Interface 개념 #10 : 연관 객체를 사용해 기존 클래스에 사용자 정의 데이터를 연관 지으라 연관 객체는 객체 두 개를 연결하는 방법을 제공한다. 연관 객체의 메모리 관리 속성으로 최소 소.. 2017. 8. 19.
[Effective Objective-C] #14 클래스 객체가 무엇인지 이해하라 [Effective Objective-C] #14 클래스 객체가 무엇인지 이해하라 출처 : Effective Objective-C -객체 타입은 컴파일 시간에 결정되지 않고 실행 시간에 찾는다. -컴파일러는 리시버가 이해할 수 없다고 생각되는 메시지를 보내는 것에 경고를 보낼 수 있다.반대로 id 타입의 객체는 모든 메시지에 응답할 수 있다고 여긴다. -실행 시간에 객체 타입을 알아내는 것을 내성(introspection)이라 하고, 이는 Foundation 프레임워크의 NSObject 의 프로토콜로 녹아 들어간 강렬하고 유용한 기능이다.이 프로토콜은 모든 공통 최상위 클래스(NSObject 와 NSProxy) 를 상속받는 모든 객체가 따르는 프로토콜이다.객체의 클래스를 직접 비교하는 것보다는 이런 메서.. 2017. 8. 16.
말라리아 증상, 원인, 진단, 검사, 치료, 예방방법 말라리아 출처 : 네이버 건강 증상 말라리아 원충에 감염된 모기에게 물리면 감염된다. ( 암컷이 피를 빨기 때문에, 암컷에 의해서만 전염 ). 2주~수개월의 잠복기를 거쳐 오한, 발열, 발한, 구토의 감염증상이 나타난다. 이외에도 빈혈, 두통, 혈소판 감소, 비장의 비정상적 확대 등의 증세도 보인다. 여러가지 합병증이 발생할 수 있다. 원인 말라리아 원충에 감염된 모기에게 물려 사람에게 감염. 진단, 검사 혈액검사를 통해 검사가 가능하다. 치료 원충의 약에 대한 내성을 감안하여 선택된다. 클로로퀸이 가격이 싸고 효과적이었지만, 내성을 보이는 원충들이 점차 늘어나고 있다. 예방방법 말라리아에 대한 백신은 없다. 가능한 한 모기에 물리지 않도록 하는 것이 가장 중요하며, 필요한 경우 의사와 상담하여 예방약을.. 2013. 1. 13.
반응형