私は現在、メソッド内NSMutableArray
でクラス Amを構築しています。ViewDidLoad
- (void)viewDidLoad
{
[super viewDidLoad];
//Question Array Setup and Alloc
stratToolsDict = [[NSMutableDictionary alloc] initWithObjectsAndKeys:countButton,@"count",camerButton,@"camera",videoButton,@"video",textButton,@"text",probeButton,@"probe", nil];
stratTools = [[NSMutableArray alloc] initWithObjects:@"Tools",stratToolsDict, nil];
stratObjectsDict = [[NSMutableDictionary alloc]initWithObjectsAndKeys:stratTools,@"Strat1",stratTools,@"Strat2",stratTools,@"Strat3",stratTools,@"Strat4", nil];
stratObjects = [[NSMutableArray alloc]initWithObjects:@"Strategies:",stratObjectsDict,nil];
QuestionDict = [[NSMutableDictionary alloc]initWithObjectsAndKeys:stratObjects,@"Question 1?",stratObjects,@"Question 2?",stratObjects,@"Question 3?",stratObjects,@"Question 4?",stratObjects,@"Question 5?", nil];
//add strategys to questions
QuestionsList = [[NSMutableArray alloc]init];
for (int i = 0; i < 1; i++) {
[QuestionsList addObject:QuestionDict];
}
NSLog(@"Object: %@",QuestionsList);
このメソッドの最後に、初期化されている QuestionsList が表示されるので、これArray
をClass Bに送信する必要があります。
そこで、 andメソッド
を使用してsetters
andを配置します。クラスAhgetters
@property
@Synthesize
@property (retain, nonatomic) NSMutableDictionary *stratToolsDict;
@property (retain, nonatomic) NSMutableArray *stratTools;
@property (retain, nonatomic) NSMutableArray *stratObjects;
@property (retain, nonatomic) NSMutableDictionary *QuestionDict;
@property (retain, nonatomic) NSMutableArray *QuestionsList;
クラスアム
@synthesize QuestionDict;
@synthesize stratToolsDict;
@synthesize stratObjects;
@synthesize stratTools;
@synthesize QuestionsList;
クラス Bからこの変数を呼び出して、別の に代入できるようにするため、プロパティ メソッドを使用しますNSMutableArray
。
次に、クラス A@property
のand@class
をクラス Bhに追加し、@interface で宣言します。NSMutableArray
#import "Class A.h"
@class Class A;
@interface Class B : UITableViewController<UITableViewDataSource, UITableViewDelegate>{
NSMutableArray *QuestionList;
Class A *arrayQuestions;
}
@property Class A *arrayQuestions;
NSMutableArray
次に、クラス Bm のクラス A から呼び出します
-(id)initWithStyle:(UITableViewStyle)style
{
if ([super initWithStyle:style] != nil) {
//Make array
arrayQuestions = [[Class A alloc]init];
QuestionList = arrayQuestions.QuestionsList;
この直後にログを記録しNSMutableArray
て値を表示し、値がそこにあることを確認して、 を返しますNIL
。
//Log test
NSLog(@"QuestionList init method: %@",QuestionList);
クラス Bに関する情報-
クラス Bはクラス AUIPopOverController
用です。クラス Bには、クラス A の結果を入力する必要がある a を保持するビューが 1 つあります。UITableView
NSMutableArray
なぜNsMutableArray
戻ってくるのNIL
ですか?最終的には、それを理解するための助けも必要ですが、本当に混乱しているようです. 助けていただければ幸いです!!