Каков наилучший способ обработки нескольких текстовых файлов для просмотра в текстовом представлении в XCode? - PullRequest
1 голос
/ 08 мая 2011

Вот идея.У меня есть около 100 текстовых файлов, и мне нужно отобразить в текстовом виде после того, как пользователь нажмет следующую кнопку на панели инструментов.Следующая кнопка также вызовет случайное число, поэтому файл будет отображаться случайным образом.Я заполнил свой код ниже, сгенерировав случайное число и используя 'case', чтобы назначить файл на основе номера.Ниже приведен пример использования 4 текстовых файлов, а что если у меня 100 текстовых файлов?Есть ли какой-нибудь общий способ разработки кода, который я должен написать до «case» 99?Пожалуйста, сообщите.

- (IBAction)Next:(id)sender {

// generate random number   
    int randomnumber = (arc4random() % (3));

//assign the number based on file number 
    switch (randomnumber) {
        case 0:
        {
            NSString *filePath=[[NSBundle mainBundle] pathForResource:@"file_no_1" ofType:@"txt"];
            NSString *myText= [NSString stringWithContentsOfFile:filePath
                                                        encoding:NSUTF8StringEncoding
                                                           error:nil];
            TextView.text=myText;
        }
            break;
        case 1:
        {
            NSString *filePath=[[NSBundle mainBundle] pathForResource:@"file_no_2" ofType:@"txt"];
            NSString *myText= [NSString stringWithContentsOfFile:filePath
                                                        encoding:NSUTF8StringEncoding
                                                           error:nil];
            TextView.text=myText;
        }
            break;
        case 2:
        {
            NSString *filePath=[[NSBundle mainBundle] pathForResource:@"file_no_3" ofType:@"txt"];
            NSString *myText= [NSString stringWithContentsOfFile:filePath
                                                        encoding:NSUTF8StringEncoding
                                                           error:nil];
            TextView.text=myText;
        }
            break;
        case 3:
        {
            NSString *filePath=[[NSBundle mainBundle] pathForResource:@"file_no_4" ofType:@"txt"];
            NSString *myText= [NSString stringWithContentsOfFile:filePath
                                                        encoding:NSUTF8StringEncoding
                                                           error:nil];
            TextView.text=myText;
        }
            break;

        default:
            break;
    }


}

1 Ответ

2 голосов
/ 09 мая 2011
- (IBAction)Next:(id)sender 
{
  //generate random number - result is a range of 0-99   
  int randomnumber = (arc4random() % 100);
  //render a filename based on that number ("file_no_1" - "file_no_100")
  NSString *fileName = [NSString stringWithFormat:@"file_no_%d", randomnumber + 1];
  //show the filename within our console
  NSLog(@"current filename:%@", fileName);
  //render a complete file-path out of our filename, the main-bundle and the file-extension
  NSString *filePath=[[NSBundle mainBundle] pathForResource:fileName ofType:@"txt"];
  //fetch the text content from that file
  NSString *myText= [NSString stringWithContentsOfFile:filePath
                                                        encoding:NSUTF8StringEncoding
                                                           error:nil];
  //hand that text over to our textview
  TextView.text=myText;

 //done - yet another dude got his homework done by someone else...
 //...damn lucky that dude, as I had such a pleasant day
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...