2013-05-22 1 views
0

저는 IOS 기술의 초보자입니다. 저는 약 10,000 개의 mkannotations를 맵에 추가해야하는 앱을 개발했습니다. 그래서 (아마도 k_means를 사용하여) 클러스터링 알고리즘을 사용하는 것을 선호합니다. 그러나 (https://www.cocoacontrols.com/controls/adclustermapview)에서이 아름다운 외부 라이브러리를 발견했습니다.코드 일부에 IOS arc을 사용할 수 없도록 설정했습니다.

이 프로젝트의 예제 프레임 워크를 준수하고 시뮬레이터에서 실행하면 모든 것이 제대로 작동하지만 설명 된대로 프로젝트에 필요한 파일을 추가 할 때

retain 
release etc. 

그래서 나는 어떤 문제가 여기에

내 질문에있는 프로젝트의 아크 호환성이 이해에 대한 오류의 제비를 제기

  1. 일부 프로젝트에서 사용되는 이러한 유지 및 해제 방법은 이전 버전의 IOS로 개발되었음을 의미하는 입니까?
  2. 그렇다면 수동으로 제거하는 것 외에 어떻게 이러한 오류를 해결할 수 있습니까?
  3. IOS에있는 방법이 있나요? 부분적으로 하나의 컴파일러를 사용하고 나머지는 다른 코드를 사용하여 컴파일 할 수 있습니까?
+0

부수적으로 10,000 개의 주석을 추가하는 것은 실제로 느릴 수 있습니다. – ahwulf

답변

8

enter image description here는 선택/페이즈를 구축/컴파일 소스는 엑스 코드에

보도

유형 -fno-objc 아크

를 눌러 입력 대상에서 파일을 원하는 입력하거나 완료

3

xcode 편집 - 리팩터링 - Objective-C로 변환 ARC 앱을 선택하고 버튼을 선택합니다. 마지막으로 저장 버튼을 클릭합니다.

다음은 유지
1
  1. , 릴리스 방법은 들이 IOS의 이전 버전으로 개발하는 것을 의미 않는 일부 프로젝트에 사용되는? 아니오

  2. 그렇다면 수동으로 을 제거하는 것 외에 어떻게 이러한 오류를 해결할 수 있습니까?

  3. 코드가 부분적으로 하나의 컴파일러를 사용하고 나머지는 다른 코드를 사용하여 컴파일 할 수있는 IOS의 방법이 있습니까? 일부 파일의 경우 disable ARC 수 있습니다.

1

이 프레임 워크가 아닌 동안 프로젝트에서 ARC를 사용해야하므로이 문제가 발생할 수 있습니다. 특정 클래스에 대한 ARC를 제거하려면 대상으로 이동 한 다음 컴파일 탭에서 컴파일 소스 그룹 아래에 '-fno-objc-arc'를 컴파일러 플래그로 추가하십시오. 이렇게하면이 클래스를 컴파일하는 동안 ARC가 건너 뜁니다.

관련 문제