티스토리 뷰

이 주의 공부/iOS

Concept of Objective-C

apple101 2019. 6. 4. 21:33
  • Class Clusters

  • Class Factory Methods
    • They combine allocation and initialization in one step and return the created object.
      • (type)className
    • id type : Objective-c object type pointer. <-> void*과는 다르다.
  • Delegeates and Data Sources
    • callback 같은거. 역할, 위임..
    • respondser object.
    • protocol은 일종의 규약, 규칙.. 추상화를 위한 키워드. Java의 interface같은고 (cf. Objective-c의 interface는 implementation 설계)
  • Introspection
    • Java의 Reflection같은거
    • 객체의 detail을 런타임에 알려줄 수 있다. (detail? - Such details include an object’s place in the inheritance tree, whether it conforms to a specific protocol, and whether it responds to a certain message. )
  • Object Allocation
    • object를 할당하기 위해 object instance variable의 type과 order까지 고려해서 할당할 memory를 계산함.
    • 여기서 끝나는게 아니라 initialization도 해주어야 합니다.. (다음에 계쏙)
  • Object Initialization
    • Release the newly allocated object (in memory-managed code)
    • Return the Account object previously initialized with this unique identifier 또는 Return nil (init할수 없을 때)
      • return [ac retain]; || return nil;
    • Returning nil from an initializer indicates that the requested object cannot be created.
      • 따라서, returning value가 nil인지 proceeding 전에 check해야 한다.
    • Once an object is initialized, you should not initialize it again.
      • re-initialization 하면, 인스턴스화 된 객체의 framework class에서 exception이 발생함.
    • 없음의 일관성 : 클래스의 프로퍼티는 nil이나 0을 없는 객체로 일관되게 설계해야 함. 따라서 프로퍼티는 긍적적인 값을 표현하게 프로퍼티를 정의하라는 의미이며, isEmpty라는 메소드 대신 hasObject라는 메소드 형식으로 정의하는 것이 좋다.
    • Multiple Initializers and the Designated Initializer
      • 상속 받은 클래스의 initializer return하면서 그런식으로…구현...
  • Model-View-Controller
    • MVC Design Pattern은 오래되어따.
    • Object-oriented programs benefit in several ways by adapting the MVC design pattern for their designs.
    • Roles and Relationships of MVC Objects
      • Model Objects Encapsulate Data and Basic Behaviors
      • View Objects Present Information to the User
      • Controller Objects Tie the Model to the View
      • Combining Roles
        • model controller : It “owns” the model;
          manage the model and communicate with view objects.
        • view controller : It “owns” the interface (the views);
          manage the interface and communicate with the model.
    • Types of Cocoa Controller Objects
      • Cocoa의 2 종류의 controller objects
        • mediating controllers (매개)
          • NSController class 상속받는 object
          • Cocoa bindings technology에 사용.
          • view와 model 사이의 flow of data를 facilitate(mediate) 함
        • coordinating controllers (조정)
          • application의 전체 또는 부분적인 기능을 oversee (coordinate) 함
      • it mediates the flow of data between model and view objects in both directions.
      • coordinating controller objects often own mediating controllers, which are archived in nib files.
  • Object Modeling
    • Entities
    • Attributes
    • Relationships
    • Accessing Properties
      • M, V, C가 서로 독립적이기 때문에, access properties가 필요함.
      • key-value pair를 사용
  • Object Mutability
    • Why Mutable and Immutable Object Variants?
      • Immutability is a guarantee that an object won’t unexpectedly change in value while you’re using it.
    • Programming with Mutable Objets
  • Outlets
  • Receptionist Pattern
    • Key Value Observer : 값이 바뀌는걸 감시하는 Observer 구현
  • Target-Action
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
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
글 보관함