2017-07-19 2 views
-1

私は100個のチェックボックスを含むボックスを含むウィンドウを持つアプリケーションを持っています。複数のチェックボックスを繰り返し、選択したタイトルを取得

ボタンを押すと、選択したチェックボックスのタイトルの文字列を作成したいと考えています。

私はすべてのチェックボックスを繰り返してタイトルを取得する必要があることを知っていますが、その方法を理解することはできません。どんな指針も大変ありがとうございます。私はバインディングとタグでそれを行う方法を知っていますが、ちょうどクレイジーな100個のチェックボックスがあります!

ありがとうございます!

+0

あなたは複数選択してテーブルビューまたはcollectionViewを使用していないと、あなたは、選択しindexsを取得するのはなぜ? – ppinho

+0

選択したチェックボックスはどういう意味ですか?どのようにチェックボックスを選択しますか? –

答えて

1

スタックビューまたはコレクションビューを使用することをお勧めします。単純なチェックボックスを使用する場合は、ポインタを配列内に保持して反復処理するか、サブビューを反復処理するコンテナとしてカスタムビューに配置する必要があります。

この例では、方向にあなたをポイントします:

NSMutableArray *activeButtons = [NSMutableArray new]; 
for (NSView* subview in [self.container subviews]) 
    if ([subview isMemberOfClass:[NSButton class]] && [(NSButton*)subview state] == 1) 
     [activeButtons addObject:[(NSButton*)subview title]]; 

NSString* text = [activeButtons componentsJoinedByString:@", "]; 
NSLog(@"Active: %@",text); 

isMemberOfClass方法は、ボタンだけではなくテキストを取得することを確認します。コンテナ内に他のボタンがある場合にのみチェックボックスを取得するように、ボタンの種類をさらに確認することができます。列挙のようなより速い方法がありますが、これはより良い出発点です。

注:モバイルに書かれた...テストされていないので、(二重にチェックが)可能なタイプミスを言い訳は

+0

ありがとう、私はボックスビューにアクセスする方法にハングアップしています...私はここに何を置くべきか分からない: '[self.container subviews]'オブジェクトの型にプロパティコンテナが見つかりません "AppDelegate"これを推測するのはかなり基本的なことです。 – julian

+0

よろしくお願いいたします。これは非常に基本的なものです。基本的なチュートリアルから始めてください。ビューのAppDelegateを使用しないでください。 1. viewControllerが何であるかを学ぶ - 2. vuewControllerを使ってIBOutletを接続する方法を学ぶ。3.全体のコードはviewControllerのIBActionになければならない。たとえこれがあなたに最も基本的なことのうちの1つを完全にスペイン語にしているとしても。そして:答えが正しいなら、あなたはそれを受け入れるべきです(フック)、それがあなたを引き寄せたらアップフォートするべきです。幸運 –

+0

あなたの明確なコード、説明、およびポインタは非常に有用であり、少しの努力と調整のおかげで、私は目標を達成しました。 – julian

関連する問題