Xcode について 2 つの基本的な質問があります。私は Windows 出身で、ほとんどが C# でコードを書いています。
本の最初のサンプル プロジェクトでは、シングル ビュー アプリケーションを作成し、ビューにラベルとボタンをドロップしました。ドラッグして開始とアクションを作成します。最後に、.m ファイルに、ボタン アクション クリックで label.text を変更するコードを記述します。それだけです:ファイル所有者または@propertyを設定しません
次の例では、テキスト ボックスも追加され、label.text が textBox 値で更新されます。ここで気づいたのですが
- (BOOL)textFieldShouldReturn:(UITextField *)textField {}
textBox を FileOwner にドラッグしないと発生しません。これは、デリゲート処理のために、fileOwner に接続する必要があることを示しています。この仮定は正しいですか?別の例では、チュートリアルで実際にボタンを fileOwner に接続する方法を示しています。なぜそれが必要なのですか?
次の質問: 最初の例では、@property を設定せずに label.text を変更できました。2 番目の例から textBox を読み取ることもできました。別の例では、@propery コードを使用しています。@property について私が理解したことは、C# のゲッター/セッターのようなものです。C# では、他の設定なしで textArea の .text メソッドを取得または設定できました。@property を使用する理由/タイミング。
確かに単純ですが、c# や vb と比較しすぎているのではないかと思います。
更新: 他の 3 冊の本に目を通してみましたが、実際に私が特定のことをしている理由 (つまり、FileOwner へのリンク) を説明しているものはありませんでした。コードをいじった後の FileOwner について少し推測しています。しかし、ボタンを fileOwner にリンクする必要がある理由がわかりません。それをドラッグしてイベントを作成した場合、他に何をする必要がありますか?
@property については、アトミック/非アトミック、リテールを読んで理解しました。私が理解できないのは、ラベル、textArea を読み書きできる場合、なぜ @property が必要なのですか?
質問の言い換え:
label.text = @"Hello"; を取得/設定できる場合 @propery を作成してそのラベルに合成するのはなぜですか? またはユーザー入力のある textArea の場合は?
次へ: チュートリアルで fileOwner にボタンを追加するよう求められるのはなぜですか?