我使用以下命令返回服務器上所有文本文件的列表。用PHP返回目錄列表
echo json_encode(glob("*.{txt}", GLOB_BRACE));
我有是當我從我的應用程序目錄執行此PHP文件,只有一個文本文件中的問題,它的預期回報文件名的JSON,但是當我重新命名該文本文件,或者添加額外的文件,繼續只返回原始文件中的文件名。
我對PHP非常陌生,想知道是否我每次都返回緩存數據而不是刷新,或者如果這可能是我的應用程序發生了什麼。
下面是應用程序的代碼:
NSURLSessionDataTask *getTheFileList = [session dataTaskWithURL:[NSURL URLWithString:@"http://www.myserver.com/utility/listJSON2.php"] completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
NSEnumerator *enumerator = [json objectEnumerator];
id value;
while ((value = [enumerator nextObject]))
{
/* code that acts on the dictionary’s values */
NSLog(@"text file name: %@", value);
}
}];
謝謝!
如果我從手機中刪除應用程序,然後重新安裝並重新運行應用程序,然後文件列表更新一次。然後,每次都會返回該更新,直到我重複該過程。它似乎被緩存在電話的某處,但我無法弄清楚在哪裏。我已經嘗試過finsihTaskAndInvalidate和flushWithCompletionHandler:但無濟於事。真的開始激怒我! – Scooter
已解決......有點。出於絕望,我切換到ephemeralSessionConfiguration,它現在像預期的那樣工作。 – Scooter
最後,如果您使用[NSURLSessionConfiguration defaultSessionConfiguration],則設置sessionConfig.URLCache = NULL,並且上述行爲也會停止。 – Scooter