여러 Aray를 돌릴 때 유용한 것 같아요.
6053 단어 Swift
애플리케이션의 히스토리 관리는 struct로 정리되어 Aray가 고정되어 있음
예를 들어 파일 이름을 바꿀 때 struct를 일부러 만들고 싶지 않기 때문에 원조로 회전합니다
그냥 하면
let items = try! FileManager.default.contentsOfDirectory(atPath: path)
let renamedItems = items.map{$0.replace("aaa",with:"bbb")}
let tuples = [(String,String)]
for i in items.count-1 {
tuples.append(items[i], renamedItems[i])
}
tuples.forEach{
...
}
조금 지루하고 가능하면 메소드 체인으로 순환하고 싶어요.원조로 돌리다
extension을 사용하여 Arry 설치
extension Array{
func tupled<T>(_ items:[T])->[(Element,T?)]{return self.enumerated().map{($1,items.index(at: $0))}}
func index(at index:Int)->Element?{return index >= 0 && index < self.count ? self[index] : nil}
}
let items = try! FileManager.default.contentsOfDirectory(atPath: path)
let renamedItems = items.map{$0.replace("aaa",with:"bbb")}
items.tupled(renamedItems).forEach{atPath,toPath in
guard let toPath = toPath else {return}
try! FileManager.default.moveItem(atPath: atPath, toPath: toPath)
}
만족하다(수염고양이)
Reference
이 문제에 관하여(여러 Aray를 돌릴 때 유용한 것 같아요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ObuchiYuki/items/b13944d1f290f31ccc70
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
extension Array{
func tupled<T>(_ items:[T])->[(Element,T?)]{return self.enumerated().map{($1,items.index(at: $0))}}
func index(at index:Int)->Element?{return index >= 0 && index < self.count ? self[index] : nil}
}
let items = try! FileManager.default.contentsOfDirectory(atPath: path)
let renamedItems = items.map{$0.replace("aaa",with:"bbb")}
items.tupled(renamedItems).forEach{atPath,toPath in
guard let toPath = toPath else {return}
try! FileManager.default.moveItem(atPath: atPath, toPath: toPath)
}
Reference
이 문제에 관하여(여러 Aray를 돌릴 때 유용한 것 같아요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ObuchiYuki/items/b13944d1f290f31ccc70텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)