stringWithContentsOfFile и initWithContentsOfFile возвращают значение null после нескольких запусков

Я создаю приложение для iOS, которое читает текстовый файл и отображает содержимое в поле UIText.

Для первых трех последовательных запусков приложения (перезапуск нового сеанса без выхода), данные читаются нормально. Однако с четвертой попытки все данные, возвращаемые из файла, равны нулю.

Я проверил целостность файла. Проблема возникает при использовании stringWithContentsOfFile или initWithContentsOfFile .

После многих часов устранения неполадок, я считаю, что проблема каким-то образом связана с очисткой буфера с помощью вышеупомянутых методов.

Любое понимание этой проблемы очень ценится. Я пробовал много вещей, но безуспешно.

Вот код, который я использую для чтения в файле:

TheString = [NSString stringWithContentsOfFile:[[NSBundle mainBundle]     
pathForResource:@"My_TextFile" ofType:@"txt"] encoding:NSUTF8StringEncoding error:NULL];

Вот код, который я использую для отображения определенного содержимого файла (содержимое помещается в массив типа NSArray ):

NSArray *My_Array;

My_Array= [TheString componentsSeparatedByString:@"\n"];

/* Obtain specific data to display */
    DisplayedData = [My_Array objectAtIndex:M[l]-1];
:
:
/* Display the data in the view */
    MyUITextView.text = DisplayedData;

/* Log the data */
    NSLog(@"%@", MyUITextView.text);

При 4-м вызове приведенного выше кода возвращенные данные пусты, а NSLOG возвращает нули

Большое спасибо за любую помощь!

  • На машине-отправителе есть HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSMQ \ SimpleClient \ @BinaryEnabled = 'Yes'
  • Владелец очереди отправляет сообщение с другого компьютера.
  • Сообщение застряло в очереди исходящих сообщений, никогда не достигает цели.
  • При отправке с той же машины (т. е. локально) сообщение прибывает ОК.
  • Сообщение отправляется с использованием следующего кода:

    var q = new MessageQueue(@"FormatName:Direct=OS:il-mark-lap\private$\test");
    q.Send(string.Format("Test message sent at {0} from {1}", DateTime.Now, Environment.MachineName));
    

    Где il-mark-lap это адрес машины с очередью.

    Что, черт возьми, мне нужно сделать, чтобы эта штука заработала?

    Большое спасибо.

    17
    задан Nate 28 October 2010 в 15:32
    поделиться