我目前在方法內建立 A.m。我在哪裏可以實現這個數組?
- (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
到B類結束。
所以我把它的setters
和getters
使用@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
和@class
到類B.h以及聲明在@interface的NSMutableArray
。
#import "Class A.h"
@class Class A;
@interface Class B : UITableViewController<UITableViewDataSource, UITableViewDelegate>{
NSMutableArray *QuestionList;
Class A *arrayQuestions;
}
@property Class A *arrayQuestions;
然後我在類B.m
-(id)initWithStyle:(UITableViewStyle)style
{
if ([super initWithStyle:style] != nil) {
//Make array
arrayQuestions = [[Class A alloc]init];
QuestionList = arrayQuestions.QuestionsList;
調用NSMutableArray
從A級後,這個權利我登錄的NSMutableArray
查看值,並檢查它們的存在,並返回NIL
。
//Log test
NSLog(@"QuestionList init method: %@",QuestionList);
信息關於B類 - B類是A類一個UIPopOverController
,B類有一個視圖,其保存UITableView
,我有填充的A類的結果NSMutableArray
。
爲什麼NsMutableArray
回來時爲NIL
? 最終還想要一些幫助搞清楚,它似乎真的讓我感到困惑。 非常感謝幫助!
你的錯誤是相信你可以分配/初始化一個類的實例,它會奇蹟般地獲得該類的其他實例中的值。 –
我應該使用單例方法來解決這個問題嗎?出於某種原因,這真的讓我難住。 @HotLicks – Keeano
@KeeanoMartin單身人士並不能解決問題,他們創造了全球狀態。 – CodaFi