SwiftGen 사용

5957 단어 SwiftSwiftgen

먼저


문자열 관리 같은 건 SwiftGen이 있는 것 같아서 사용해 봤어요.

배치


먼저 코코아Pods를 사용하여 항목을 가져옵니다.
1. pod init
2.pod'SwiftGen'podfile에 적으세요.
3. pod install

실제 사용


우선 프로젝트 바로 아래 swiftgen에서yml 파일 추가 및 다음 설정 추가
swiftgen.yml
strings:
  inputs: Localizable.strings
  outputs:
    templateName: structured-swift4
    output: Project名/strings.swift
위의 설정은 Localizable입니다.strings에서 프로젝트/strings까지.swift를 생성합니다.
이번에는 문자열을 관리해야 하기 때문에strings:를 하고 있습니다.
그 다음은 Localizable.strings 만들기.
xcode의 File->New->File 순서로 선택하여strings 파일을 만듭니다.
한 후에 먼저 내용을 기술하다.
Localizable.strings
"name"="defaultname";
"labelText"="ウヒョーーーー";
이런 느낌이에요.
그러면 마지막으로 Terminal에서.
Pods/SwiftGen/bin/swiftgen
실행 시
strings.내 생각에는 swift라는 파일이 있는 것 같다.
strings.swift
import Foundation

// swiftlint:disable superfluous_disable_command
// swiftlint:disable file_length

// MARK: - Strings

// swiftlint:disable explicit_type_interface function_parameter_count identifier_name line_length
// swiftlint:disable nesting type_body_length type_name
internal enum L10n {
  /// ウヒョーーーー
  internal static let labelText = L10n.tr("Localizable", "labelText")
  /// defaultname
  internal static let name = L10n.tr("Localizable", "name")
}
// swiftlint:enable explicit_type_interface function_parameter_count identifier_name line_length
// swiftlint:enable nesting type_body_length type_name

// MARK: - Implementation Details

extension L10n {
  private static func tr(_ table: String, _ key: String, _ args: CVarArg...) -> String {
    // swiftlint:disable:next nslocalizedstring_key
    let format = NSLocalizedString(key, tableName: table, bundle: Bundle(for: BundleToken.self), comment: "")
    return String(format: format, locale: Locale.current, arguments: args)
  }
}

private final class BundleToken {}
이것은 다 만들면 문자열을 사용할 수 있다.
ViewController에서 사용해 보시면

이런 느낌으로 문자열을 참조할 수 있다.

마지막


기타 관리할 수 있는 것이 많습니다. 상세한 상황은 공식 문서를 보십시오
https://github.com/SwiftGen/SwiftGen

좋은 웹페이지 즐겨찾기