최근에 나는 Extensions
에 중독되었습니다. 등 내가이 Array
처럼 뭔가 유용한 방법을 은닉 곳에 거대한 피타가 파악되는 것으로 발견 한 것은, NSManagedObject
는스위프트 확장 프로그램의 우수 사례
NSObject
클래스 파일 내 확장을 넣어했던 어떤
는 CustomExtensions
라고 거기에 알파벳 순서로 클래스 확장을 나열합니다.
그것은 작동하지만, 모범 사례에 맞춰 나도보고 싶어요. 그렇지 않은 경우 Extensions
을 추적하는 가장 좋은 방법은 무엇입니까?
는 여기에 내가 무슨 짓을했는지의 :
class CustomExtensions: NSObject {
/*
Useful extensions, nothing else here
*/
}
// Example extension
extension Int {
func formatAsTimeString() -> String {
let seconds = self % 60
let minutes = (self/60) % 60
let hours = self/3600
let stringHours = hours > 9 ? String(hours) : "0" + String(hours)
let stringMinutes = minutes > 9 ? String(minutes) : "0" + String(minutes)
let stringSeconds = seconds > 9 ? String(seconds) : "0" + String(seconds)
if hours > 0 {
return "\(stringHours):\(stringMinutes):\(stringSeconds)"
}
else {
return "\(stringMinutes):\(stringSeconds)"
}
}
}
// More extensions below
확장자 *를 'NSObject'에 넣었다는 것은 무엇을 의미합니까? 'Array' 확장은 다른 클래스에서 * 사용해서는 안됩니다. 예를 들어 ... –
@DanielT. 읽어 주셔서 감사합니다. 내가 한 일을 볼 수 있도록 내 대답을 업데이트했습니다. – Adrian
예제를 기반으로, 나는이 'CustomExtensions' 클래스가 무엇을위한 것인지 아직도 이해하지 못한다. 당연히 하위 클래스로 분류하지 않습니까? –