[Swift] XCode 6.4의 Build(Swift source file의 Compile)와 Indexing 주변이 매우 느려진 이유와 대응 - Dictionary 편
다른 방법과 견해도 있는 것 같은데 그쪽을 참고하세요.
환경
상황
TableView를 설치하고 Realm과 관련된, Section, Index, Search 등 다양한 콘텐츠를 제작하던 중 갑자기 Build가 느려졌습니다.
고장 상태를 검사한 결과 Comple Swift source files 파일이 매우 느린 것으로 나타났습니다.
인디케이터가 계속 돌아가자 맥의 팬이 이상한 소리를 내기 시작했고 모든 응용 프로그램이 바스락거리기 시작했다. 결국 다운되었는데 그 Build를 멈추지도 못했다.
원인
코드에서, Realm에서 데이터를 검색하여 Dictionary에 넣고, TableViewController에서 되돌아오는 function을 찾았습니다.
그 Dictionary의 제작 방법에 문제가 있는 것 같습니다.func getItemDic() -> Dictionary<String, Array<Dictionary<String, Any>>> {
// hogehoge
}
↑ 느낌을 주는 Dictionlary of Array of Dictionary를 되돌리는 방법은 다음과 같다.for eachObject in allObjectsFromDB {
var tmpDic: Dictionary<String, Any> = [
"id" : eachObject.id,
"name" : eachObject.name
・
・
・
]
}
성명할 때 값을 넣는 방법이라면 느려질 수 있습니다.
(그러나 모든 상황이 느려지는 것은 아니다.)
지원
값을 넣지 않고 비어 있습니다. 나중에 값을 더하면 컴파일이 좋습니다.for eachObject in allObjectsFromDB {
var tmpDic = Dictionary<String, Any>()
tmpDic["id"] = eachObject.id
tmpDic["name"] = eachObject.name
}
또 최초 선언문에 넣은 값이 소수라면 문제가 없다는 등의 보도도 볼 수 있어 어떤 명확한 사항이 있는지는 알 수 없지만 어쨌든 비망록이다.
References
코드에서, Realm에서 데이터를 검색하여 Dictionary에 넣고, TableViewController에서 되돌아오는 function을 찾았습니다.
그 Dictionary의 제작 방법에 문제가 있는 것 같습니다.
func getItemDic() -> Dictionary<String, Array<Dictionary<String, Any>>> {
// hogehoge
}
↑ 느낌을 주는 Dictionlary of Array of Dictionary를 되돌리는 방법은 다음과 같다.for eachObject in allObjectsFromDB {
var tmpDic: Dictionary<String, Any> = [
"id" : eachObject.id,
"name" : eachObject.name
・
・
・
]
}
성명할 때 값을 넣는 방법이라면 느려질 수 있습니다.(그러나 모든 상황이 느려지는 것은 아니다.)
지원
값을 넣지 않고 비어 있습니다. 나중에 값을 더하면 컴파일이 좋습니다.for eachObject in allObjectsFromDB {
var tmpDic = Dictionary<String, Any>()
tmpDic["id"] = eachObject.id
tmpDic["name"] = eachObject.name
}
또 최초 선언문에 넣은 값이 소수라면 문제가 없다는 등의 보도도 볼 수 있어 어떤 명확한 사항이 있는지는 알 수 없지만 어쨌든 비망록이다.
References
for eachObject in allObjectsFromDB {
var tmpDic = Dictionary<String, Any>()
tmpDic["id"] = eachObject.id
tmpDic["name"] = eachObject.name
}
Reference
이 문제에 관하여([Swift] XCode 6.4의 Build(Swift source file의 Compile)와 Indexing 주변이 매우 느려진 이유와 대응 - Dictionary 편), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/colorrabbit/items/cea52df68865547e2052텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)