Пытаюсь записать данные в Plist - почти нет - PullRequest
0 голосов
/ 27 марта 2012

Итак, я пытаюсь разобраться в этом вместе - я создал небольшое приложение для одного вида, чтобы извлечь уроки из: -)

То, что я пытаюсь достичь, как вы можете видеть по размещенному коду и изображениям, состоит в том, что у меня есть одно textField и кнопка отправки в UITable - первый UIView, который я встроил в навигационное представление, так что UITableView может отображать это результаты. Теперь я получаю 2 ошибки и знаю, что что-то забыл, но не могу понять, как написать, объявить их.

Код AddingViewController.h

@interface AddingViewController : UIViewController {

Dfetch *dao;
IBOutlet UITextField *addToPlistTxt;
IBOutlet UITableView *table;

NSArray *testList;

}

 @property (retain, nonatomic) IBOutlet UITextField *addToPlistTxt;
 @property (retain, nonatomic) IBOutlet UITableView *table;

 @property (retain, nonatomic) NSArray *testList;

 -(IBAction)makeKeyBoardGoAway;
 -(IBAction)submitToPlistAction;

 @end

Код для AddingViewController.m:

@implementation AddingViewController
@synthesize addToPlistTxt;
@synthesize table;
@synthesize testList;


   //Not very elegant way to dismiss keyboard, but it will do for the excersize
   -(IBAction)makeKeyBoardGoAway{    
    [addToPlistTxt resignFirstResponder];
    }

   -(IBAction)submitToPlistAction{

    NSString     *path     = [[NSBundle mainBundle] pathForResource:@"Data" ofType:@"plist"];
    NSString     *addLine  =   self.addToPlistTxt.text;
    NSArray      *values   = [[NSArray alloc] initWithObjects:addLine, nil];
    NSArray      *keys     = [[NSArray alloc] initWithObjects:NAME_KEY, nil];
    NSDictionary *dict     = [[NSDictionary alloc] initWithObjects:values forKeys:keys];
    [self.testList addObject:dict];
    [self.testList writeToFile:path atomically:YES];
    }

   - (void)viewDidLoad
   {
    [super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.


    }

   @end

Теперь я просто пытаюсь изучить это, поэтому я вставил целые файлы, чтобы увидеть, где я ошибся.

Ошибки:

NSArray      *keys     = [[NSArray alloc] initWithObjects:NAME_KEY, nil];

и

[self.testList addObject:dict];

После того, как я отсортировал эти 2, нужно ли мне добавить данные в мой список pList?

Я добавил скриншот ниже, чтобы вам не нужно было визуализировать интерфейс: -)

enter image description here

Надеюсь, все это имеет смысл - Спасибо за любой совет: -)

Ура Джефф

1 Ответ

1 голос
/ 27 марта 2012

NAME_KEY должна быть некоторой строкой, определенной над , где она указана (либо в файле интерфейса .h, либо в файле реализации .m).

например:.

#define NAME_KEY @"jwk82"

Что касается dict, который не был добавлен, мне интересно, является ли ваш addToPlistTxt UITextField нулевым, и это является причиной ошибки (или сбоя).

Установите точку останова перед созданием объекта NSDictionary и выясните.

...