У меня проблемы с чтением изменяемого массива из изменяемого словаря.Я пытаюсь прочитать это, а затем положить на этикетку.Вот как организованы мои данные.У меня есть изменяемый массив словарей.Затем в своем табличном представлении я беру объект по пути индекса и устанавливаю его равным словарю в делегате приложения.Затем в подробном представлении я загружаю словарь, извлеченный из массива, и читаю из него и помещаю значения в метки.У меня все строки в словаре работают, но массивы не считываются, вы можете мне помочь
RootViewController.m
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
SurveyAppAppDelegate *surveyAppAppDelegate = (SurveyAppAppDelegate*)[[UIApplication sharedApplication] delegate];
SurveyViewer *surveyViewController = [[SurveyViewer alloc] initWithNibName:@"SurveyViewer" bundle:nil];
surveyAppAppDelegate.arrayCount = [[self surveyArray] objectAtIndex:indexPath.row];
[self.navigationController pushViewController:surveyViewController animated:YES];
[surveyViewController release];
}
В моем делегате приложения он установлен как NSDictionary.
Затем в моем детализированном контроллере я делаю это
injuredArray = [surveyAppAppDelegate.arrayCount objectForKey:@"Injured Part"];
if ([injuredArray count] >= 1) {
for (int i = 0; i<=([injuredArray count]-1); i++) {
myLabel = [[UILabel alloc] initWithFrame:CGRectMake(20, 105+shift, 139, 15)];
myLabel.text = [injuredArray objectAtIndex:i];
myLabel.backgroundColor = [UIColor clearColor];
myLabel.font = [UIFont fontWithName:@"Helvetica" size: 14.0];
myLabel.textColor = [UIColor blackColor];
myLabel.textAlignment = UITextAlignmentLeft;
[self.theScroller addSubview:myLabel];
shift = shift+20;
}
}
В моем делегате приложения я настраиваю arrayCount следующим образом
.h
#import <UIKit/UIKit.h>
@class RootViewController;
@interface SurveyAppAppDelegate : NSObject <UIApplicationDelegate> {
NSDictionary *arrayCount;
}
@property (nonatomic, assign) NSDictionary *arrayCount;
@end
и .m
#import "SurveyAppAppDelegate.h"
@implementation SurveyAppAppDelegate
@synthesize arrayCount;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
arrayCount = [[NSDictionary alloc] init];
Затем, после освобождения делегата приложения, я освобождаю его
О, и все объекты в NSMutableArray, который я установил для injuredArray, являются строками
РЕДАКТИРОВАТЬ: Итак, я добавил цикл к NSLog массива в контроллере корневого представления сразу после того, как я его установил, и он не работает.По какой-то причине он выглядит неправильно сохраненным в arrayCount
Спасибо за помощь