Как оценить операторы bool - PullRequest
0 голосов
/ 12 июня 2010

У меня есть кусок кода, который, как говорят, возвращает значение bool. Я новый программист, так может кто-нибудь дать мне код, который определит, существует ли файл по пути?

NSString *docsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];

NSString *path = [docsDirectory stringByAppendingPathComponent:@"fileName.txt"]; //returns a bool

Ответы [ 2 ]

1 голос
/ 12 июня 2010

На самом деле stringByAppendingPathComponent: метод не возвращает (BOOL), он возвращает (NSString *).

Вы можете определить, посмотрев на его подпись:

- (NSString *)stringByAppendingPathComponent:(NSString *)str;

Если бы он вернул бул (а это не так), все, что вам нужно сделать, это: if (path) {//...}

Что вы действительно хотите сделать, чтобы проверить, существует ли файл:

NSString *docsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *path = [docsDirectory stringByAppendingPathComponent:@"fileName.txt"]; 
if ([[NSFileManager defaultManager] fileExistsAtPath:documentsDirectory]) {
  //File Exists So Code Goes Here
}
0 голосов
/ 12 июня 2010

Если переменная содержит логическое значение, вы можете просто проверить его следующим образом:

if(var) {
   // gets executed if var is true
}

Читать о структурах условного управления .

Но stringByAppendingPathComponent не возвращает логическое значение, возвращает строку .

...