私は現在、Javaの世界から来たObjCとCocoaプログラミングを学んでいます。 私の現在のスキルと学習の進歩をテストするために、私はゼロから小さな電卓アプリを作成しています(OSXではiOSではありません)。複数のCocoa UIオブジェクトに同じアクションメソッドを割り当てています。 NSButtonは可能ですか?
私のUIには、0〜9の10個の数字ボタンがあります。
私の最初の考えは、アクションが送信者の参照を受け取り、 のように-(IBAction)captureDigit:(id)sender
のようにして、ボタンのタイトルから数字を取得するだけでした。 しかし、インターフェースビルダーは、アクションが1つの送信者とのみ接続できるようにしています。
私はコントローラで10個のcaptureDigitアクションを作成しました。
私の質問: はどういうわけか可能ですか?私はボタンにアクションをプログラムで追加することを考えましたが(これは可能でしょうか?)、その後、私のコントローラにアウトレットとしてすべての数字ボタンを追加する必要があります。
ボーナス質問: NSButtonは何らかの非可視値を保持できますか?ドキュメントでこれを見つけることができませんでした。 これは、UIがアプリケーション固有のデータを認識するため、MVCパターンに違反する可能性がありますか?事前に任意の有用なと親切な答えを
おかげで、私はまだあなたの送信者からのコントロールドラッグあればそれは問題ではないので、あなたは、ターゲットに一つのターゲット/アクションに多くの送信者を接続することができます
私はIBの「接続済み」インジケータと「使用不可能」インジケータを混同していると思います。これは、アクションまたはコンセントが既にどこかに接続されていることを意味しますが、アクションに他のオブジェクトを接続することを許可します。 – ughoavgfhw