찾다

 >  Q&A  >  본문

objective-c - 使用swift加入之前的oc项目,求经验,求坑分享?

项目配比

ios 2人,android 3人!

背景

之前的IOS端项目是使用OC开发的,已经到了2.0版本了,本人现在是做android客户端,但现在想加速ios的开发进度,所以,我决定使用swift参与到ios项目中。

遇到的问题

因为没有过类似的经验,所以想请教下过来人,如何用swift杀入现有的oc项目。特别是UI这块的融入,以及OC之前封装的一些工具的调用。

过去多啦不再A梦过去多啦不再A梦2761일 전595

모든 응답(1)나는 대답할 것이다

  • 大家讲道理

    大家讲道理2017-04-28 09:07:48

    • Swift의 탁월한 유형 감지 기능은 처음에는 불편하게 느껴져 온갖 판단과 처리 과정에서 번거로움을 유발할 수 있습니다! 하지만 익숙해지고 나면 자신이 작성한 프로그램에 대해 그 어느 때보다 자신감이 있었다는 것을 알게 될 것입니다

    • Swift 런타임 라이브러리를 6M

      에 패키징해야 하므로 릴리스 패키지는 이전보다 최소한
    • 더 커집니다.
    • 헤더 파일만 추가하면 되며 이전에 Objective-C로 작성한 내용은 모두 안심하고 바로 사용할 수 있습니다

    • 이전에 Objective-C로 작성된 내용을 사용하기 시작하면 Swift로 다시 작성하고 싶을 가능성이 높습니다. 왜냐하면 Objective-C에는 다음과 같은 유형 검사 기능이 많이 부족하기 때문입니다. Swift는 objectForKey: 여기에 메소드가 일반적으로 AnyObject가 반환되므로 유형 변환을 수행해야 합니다

    • Swift는 명백히 논리적으로 잘못된 모든 상황을 고려하게 하여 런타임 중 오류 가능성을 줄일 수 있지만 이로 인해 종종 "설명할 수 없는" 오류 보고서를 보게 될 것입니다. 오류 메시지를 읽어보세요. 조심스럽게, 당신이 정말로 틀렸다는 것을 알게 될 것입니다

    • 대부분의 Objective-C API는 이전에도 동일했습니다. Apple은 Swift를 사용하여 스킨 레이어를 만들었고 여전히 내부적으로 Objective-C를 호출하고 있습니다. https://github .com/apple/swift-corelibs-foundation

    • 문자열 != NSString

    • 포인터 변수를 사용하는 것은 번거로울 수 있습니다
      ....

    전반적으로 Swift는 개발 효율성을 향상시키지 못했지만(개발 효율성이 더 느릴 수도 있음) 애플리케이션이 온라인에 있을 때 작성한 코드에 대해 그 어느 때보다 자신감이 있다는 것을 알게 될 것입니다. 대부분의 오류를 피했습니다. 혼합하면 프로젝트가 복잡해집니다. 팀 협업이라면 Swift를 사용하기 전에 팀 전체가 무슨 일이 일어나고 있는지 알아야 합니다.

    오타가 있으면 지적해주세요 :)

    회신하다
    0
  • 취소회신하다