iOS 프로젝트 MVC 실습 포인트 (1) - 코드 구분 및 주석

3070 단어

전언


최근에 회사의 새로운 프로젝트에 대해 MVC 구조에 따라 코드를 깊이 있게 분해하고 재봉인하여 수천 줄의 코드의viewController 파일을 가능한 한 600줄 이내로 분할하였다.업무 논리, 네트워크 요청, 데이터 지속화(데이터 저장)와 데이터 모델을 단독으로 봉하여 코드 구조를 뚜렷하고 유지 보수하기 쉽게 한다.사실 iOS 개발이 MVC 구조에 대한 실천은 매우 잘 응용된 셈이다.다만 때때로 프로젝트 개발 주기가 촉박하기 때문에 모두가 모든 것을 뷰 컨트롤러에 넣는 것을 편리하게 하기 위해 개발이 매우 빠르고 뒤의 디버깅과 유지보수에 많은 시간을 낭비하게 된다.그 다음으로 그동안 MVC에 대한 이해가 깊지 못했기 때문이겠죠.
아래의 내용은 기본적으로 당교대신의'이 문장'을 대상으로 한 실천이고 아리의 한 대신의 이 일련의 문장 iOS 응용 구조담(1~4)을 참고했다. 내용은 코드 주석, View 조합, VC 다이어트, 데이터 모델, 네트워크 층, 데이터 보존 봉인 등을 포함한다.가능한 한 코드 구조가 뚜렷하고 깔끔함을 보증합니다.
1. MVC 내부 코드 구분:
1.viewController
#pragma mark -     (           )

#pragma mark -   (   UITableView view      )

#pragma mark -     

#pragma mark -     (          )

#pragma mark - getter   setter 


2.View
View 안에는 기본적으로 UI의 결합이 있기 때문에 주석은 컨트롤에 대한 값이 비교적 간단합니다. View Controller는 setter에서 모든 컨트롤에 값을 부여하는 모델을 전송합니다.
#pragma mark -     (            )

#pragma mark -     

#pragma mark -     (    ,   VC    )

#pragma mark -     (              ,        )

#pragma mark - getter   setter(         getter    ) 


3.Model
모델은 데이터 모델로 안에 명시된 변수(또는 속성, 변수는 기본적으로 속성을 통해 자동으로 합성되기 때문)와 서버가 요청한 데이터는 기본적으로 일일이 대응한다.복잡한 인터페이스(UItableview 또는)에서는 AutoLayout을 사용할 수 없습니다.따라서 이 안에 Layout을 추가했는데 그 안에 주로 인터페이스에 표시할 내용의 높이를 계산하고 저장한다.그래서 여기서 가장 많은 것은 사유 방법이다
#pragma mark -     

#pragma mark -     


4. 서비스(MVC의 비즈니스 계층)
ViewController에서 가능한 한 모든 업무 논리를 추출하여 여기에 봉인한 다음에 ViewController가 서비스하는 실례를 가지고 있으며, 업무층의 모든 업무는 ViewController에 인터페이스를 제공합니다.그래서 이곳에서 가장 많은 것은 공유 인터페이스이다
#pragma mark -     

#pragma mark -     (  )


5. 데이터 지속성
서비스 레이어 아래, 모델 레이어 위에 있습니다.일반적인 작업은 다음과 같습니다.
  • 업무층이 네트워크를 통해 데이터를 요청하거나 파일, 캐시 등에서 데이터를 읽는다(파일, 캐시 등은 데이터의 지속화와 관련이 있다).
  • 사용자 조작 인터페이스는 약간의 변화를 초래하거나view 에이전트를 통해ViewController, ViewController를 통해 서비스 층을 조작하여 업무 처리(즉 데이터의 변화, 이곳의 변화는 기본적으로 모델과의 협조가 필요하다)를 한 다음에 파일을 쓰거나 버퍼를 쓰거나 네트워크를 통해 원격 서버에 전송한다.
  • #pragma mark -     
    
    #pragma mark -     (  )
    

    마지막으로 설명하자면 이것은 개인 코드 모듈의 구분과 모듈 내 코드의 주요 분류이고 세부적인 것은 프로젝트나 실제 업무에 따라 구분해야 한다.
    2. 코드 주석
    1. 먼저 몇 가지 코드 주석 기술을 제시한다.
    // TODO:   (                )
    // FIXME:   (        ,           )
    // ???:   (               ,         )
    // !!!:    
    

    이상의 주석을 대상으로 전문적으로 이런 주석을 수집하는 소스 라이브러리가 있어 개인의 취향에 따라 사용할 수 있다.
    개인 습관: 개발에 사용할 개원 라이브러리를 대상으로 사용하지 않고 최대한 사용하지 않을 수 있다.디버깅에 사용되는 코드 라이브러리에 대해 가능한 한 사용하십시오. (도움이 된다면.)
    2. 다음은 일반적인 코드 주석이다.
    방자의 작은 발자국을 참고한 블로그를 참고하면 여자들이 물건을 정리하는 능력을 믿어야 한다. 하물며 방자도 신이다.
    3. 코드 규범
    이 구유는 빨리 토하지 않는데 하물며 나는 영어를 못한다.영어가 좋지 않기 때문에, 이 규범은 나에게 있어서 난이도가 좀 크다.프로그래머의 가장 골치 아픈 일: 이름
    그리고 가장 충격적인 말은 영어를 잘 배우지 못하면 채소 새가 늙을 때까지
    나는 단지 한마디만 하고 싶다. 그냥 조용히 색연필을 늙게 해 주세요.
    마지막으로 자신이 사용하는 코드 규범을 제시한다.물론 전제는 애플 홈페이지의 규범을 따르는 것이다.
    야생 프로그래머 하나: 회사에 코드 규범이 있는데 자신이 각 신의 블로그에서 베끼기를 배웠기 때문에 최종적으로 자신의 프로젝트는 이런 코드 규범을 형성했다. 앞으로 학습과 기술의 향상에 따라 큰 변화가 있을 것이다.
    만약 잘못이 있으면 비평과 시정을 바랍니다.

    좋은 웹페이지 즐겨찾기