2

私は mac/objective-c の完全な初心者です。私の質問は次のとおりです。値が変更されたときにテキストを手動で設定する必要がなく、UILabel テキストを変数にバインドできるかどうか疑問に思います。

たとえば、Mac OS で新しい Finder ウィンドウを開いてファイルを削除すると、タスクバーのグローバルな空き領域が変化します。そして、開いているすべての「ファインダー」でその値も変化します。

Mac または iPhone のいずれかで、Objective-c を使用してこのような動作を再現するにはどうすればよいですか? UILabel について考えていたのですが、UILabel ごとに手動で設定する以外に方法が見つかりませんでした。

ありがとうレオナルド

4

3 に答える 3

1

次のことを調べる必要があります。

  1. お知らせお知らせ

および/または

  1. キー値コーディングKVC

通知を使用すると、変更の自動通知をセットアップして、プログラム全体にカスケードしたい変更のオブジェクト (変数など) を言うことができます。KVC を使用すると、データをオブジェクトに接続できるので、Core Data を使用している場合に役立ちます。

最初に通知から始めます。

于 2010-01-19T11:12:06.793 に答える
1

現在のバージョンの iPhone OS (3.1) はバインディング (デスクトップ Cocoa に見られるような) をサポートしていません。当面は、UI をモデルと同期させるために、コントローラーの接着剤を手動で記述する必要があります。

IBAction具体的には、コントローラにメソッドを追加しUILabel、コンテンツが変更されたときにメソッドを呼び出すように接続します。

この質問は以前にも取り上げられました:

Mac では、Key-Value Coding (KVC) を使用して、ラベルを IB のオブジェクト コントローラーにバインドします。バインディングのドキュメントでは、これについてかなり詳しく説明しています。

于 2010-01-19T11:12:30.677 に答える