1.効率アーティファクトAppCode
XcodeはAppleの最も有名な開発ツールですが、それだけではありません。Appcodeはもう1つの強力なiOS開発ツールです。JetBrain製品を使用したことのある人は、その利点、豊富なショートカットキー、強力なプロンプト機能をよく知っています。2日間理解せずに諦めた兄弟、あなたは本当に良いことを逃しました)。
しかし、明確にするために。OCを開発するときにのみ使用することをお勧めします。以前は、会社のプロジェクトはOCを使用して開発されていましたが、Appcodeを使用するのはすばらしいことでした。しかし、会社が迅速に開発した後、appcdoeのパフォーマンスは満足のいくものではなく、プロンプトは乱れ、オプションの属性のコード補完はXcodeほど良くありませんでした。たとえば、インスタンスpersonにはオプションタイプ(暗黙的ではないオプション)の属性ツールがあり、toolによって宣言されたタイプToolにはnameという属性があります(文字列タイプは問題ありません)。シナリオでは、に値を割り当てます。この名前で、入力シーンは次のとおりです。
// Xcode
person.tool?.name = "黑粗大长直"
// Appcode
person.tool.name = "黑粗大长直"
复制代码
明らかに後者は正しくありません。Xcodeコンパイラを使用して、入力した後、tool
もう一度入力する.name
と、ツールのオプションのタイプに応じてツールに自動的に追加されます?
。もちろん、これは使用中の頭痛の種です。
個人的には、Appcodeはまだ非常に強力で、プラグイン、ショートカットキー、自動インポートなど、Xcodeにはないさまざまな機能があると思います。したがって、Appcodeができるだけ早くSwiftを完全にサポートできることを願っています。
2.強力なショートカットツールのキーボードマエストロ
キーボードマエストロを単なる強力なショートカットツールとして説明するには少し狭すぎます。彼の機能はそれ以上のものだからです。
キーボードマエストロの主な機能は、一連の操作を編集してから、キーの組み合わせやキーボード入力文字列などを作成できるマクロを生成することです。
例:この文字列を入力するとシャットダウンを設定できPCshutdown
ます。一連の操作を記録してcmd+D
、Appcodeの前の行の内容をコピーすることもできます。以下は簡単な教えの例です。1.最初cmd+D
に機能を説明します。たとえば、appcodeでは、コード行を入力すると、次のコード行の内容は基本的に同じです。このコード行をコピーしてから、Enterキーを押して貼り付け、Enterキーを押して貼り付けます...操作はこの行の直後ですcmd+D
1 let image0 = UIImage(named: "image_0_1")
复制代码
このとき、カーソルは最初の行にあり、アプリコードでカーソルcmd+D
を押すと、次のコンテンツが取得されます(番号は行番号を表します)
1 let image0 = UIImage(named: "image_0_1")
2 let image0 = UIImage(named: "image_0_1")
复制代码
結果:前の行の正確なコピー。
2.これらの操作を分析します。実際、操作全体は次の操作と同等です。
(1)cmd + <-
カーソルを左端に移動します
(2)shift + cmd + ->
カーソルの右側の行全体を選択します
(3)cmd + c
コピー
(4)回车
改行
(5)cmd + v
貼り付け
3.運用の実現
(1)クリックしてマルコを作成します
(2)名前の後にトリガーを追加します(このマクロを開始するためのショートカットキーまたは操作に相当します)
(3)選択Hot Key Trigger
(Typed String Trigger
前述の文字列の入力です)
New Action
(5)次のステップは、ステップ2で分析した内容に従って、アクションを段階的に設定することです。
(6)各ステップを完了すると、次のことができます
もう1つ注意すべき点は、最終的にシステムのクリップボードを復元する必要があるということです。
このショートカットはXcodeでも使用できます
3.R.swift
そうです、 RxSwiftでもReSwiftでもありません。R.swiftR.generated.swift
は、コンパイルされるたびにプロジェクトのルートディレクトリにスクリプトを含むファイルを生成する単なるスクリプトツールです。ユーザーは、このファイルへの参照を作成して追加する必要があります.gitignore
。写真や色などをより健康的に参照できます!画像ファイルを例にとると、UIImageのインスタンスが作成されます。これは通常、文字列として作成されます。
let image = UIImage(named: "me_wallet_coin")
复制代码
文字列へのアクセス方法は本当に純粋であり、手作業でミスを犯すリスクがあることは誰もが知っています。正しく入力したとしても、ある日、プロジェクトで使用されていない写真をクリーンアップするときに、同僚やプロジェクトをグローバルに検索する必要があります。なんてばかな!古い画像プロンプトプラグインが恋しいです!
しかし、R.swiftでは大きな違いがあります。(インストールとデプロイについては説明しません。githubで入手でき、非常に簡単です)
上記のコードの例として、UIImageの設定を続けます。
//正常设置方式
let settingsIcon = UIImage(named: "me_wallet_coin")
//R.swift设置方式
let settingsIconResource = R.image.me_wallet_coin()
let settingsIcon = UIImage(resource: settingsIconResource)
复制代码
ps:R.swiftはUIImageインスタンス化メソッドの拡張を作成しました
public convenience init?(resource: ImageResourceType,
compatibleWith traitCollection: UITraitCollection? = nil) {
self.init(named: resource.name, in: resource.bundle, compatibleWith: traitCollection)
}
复制代码
日常の開発でこの方法を使用すると、リソースの保守と管理がより安全で簡単になります。
さらに、この方法にも利点があります。画像をxcodeにドラッグするときは、適切な習慣を身に付ける必要があります。上記のように、画像に合理的な名前をme_wallet_coin
付けると、ページのレベルと使用シナリオを確認できます(myインターフェイス-ウォレットインターフェイス-コインアイコン)。この命名は最終的にコードに反映され、R.imageプロパティの形式で反映されるため、醜い命名は醜いコード/:X-につながります。
次に、R.swiftに似た別の迅速なサードパーティライブラリSwiftGenを貼り付けます