2013-02-19 8 views
5

Pracuję z obrazami do magazynu iCloud. używając przykładowego kodu, który implementuję. ale tutaj używam widoku siatki, aby wyświetlić obrazy. dla widoku siatki używam próbki: AQGridView. teraz mam problem podczas realizacji tego.Nie można wyświetlić obrazu w widoku siatki przy użyciu magazynu iCloud?

Mój projekt działa poprawnie w pamięci lokalnej, ale nie działa w pamięci masowej iCloud. podczas dodawania obrazu do widoku siatki dodano tylko jeden widok, ale zakończenie procesu usunięto z widoku, a także nie otrzymałem CloudURL.

tutaj jakiś główny kod

- (void)processiCloudFiles:(NSNotification *)notification { 

// Always disable updates while processing results 
[_query disableUpdates]; 

[_iCloudURLs removeAllObjects]; 

// The query reports all files found, every time. 

NSArray * queryResults = [_query results]; 

for (NSMetadataItem * result in queryResults) { 

    NSURL * fileURL = [result valueForAttribute:NSMetadataItemURLKey]; 

    NSNumber * aBool = nil; 

    // Don't include hidden files 
    [fileURL getResourceValue:&aBool forKey:NSURLIsHiddenKey error:nil]; 

    if (aBool && ![aBool boolValue]) { 

     [_iCloudURLs addObject:fileURL]; 

     NSLog(@"%@",_iCloudURLs); 



    } 

} 

NSLog(@"Found %d iCloud files.", _iCloudURLs.count); 

_iCloudURLsReady = YES; 

if ([self iCloudOn]) { 

    NSLog(@"%d",_objects.count); 

    // Remove deleted files 
    // Iterate backwards because we need to remove items form the array 

    for (int i = _objects.count -1; i >= 0; --i) { 

     PTKEntry * entry = [_objects objectAtIndex:i]; 

     if (![_iCloudURLs containsObject:entry.fileURL]) { 

      [self removeEntryWithURL:entry.fileURL]; 
     } 
    } 

    NSLog(@"%@",_iCloudURLs); 

    // Add new files 
    for (NSURL * fileURL in _iCloudURLs) { 

     [self loadDocAtURL:fileURL]; 
    } 

    self.navigationItem.rightBarButtonItem.enabled = YES; 

} 

if (_moveLocalToiCloud) { 

    _moveLocalToiCloud = NO; 
    [self localToiCloudImpl]; 

} 
else if (_copyiCloudToLocal) { 

    _copyiCloudToLocal = NO; 
    [self iCloudToLocalImpl]; 

} 

[_query enableUpdates]; 

} 

a także i pokazać moją konsoli przepływ mój wniosek pomóż mi

2013-02-19 13:29:26.159 XXXX[337:907] iCloud available at: file://localhost/private/var/mobile/Library/Mobile%20Documents/XXXXX~com~XXXX~XXXX/ 
2013-02-19 13:29:32.847 XXXX[337:907] No longer watching iCloud dir... 
2013-02-19 13:29:32.849 XXXX[337:907] Starting to watch iCloud dir... 
2013-02-19 13:29:33.002 XXXX[337:907] Found 0 iCloud files. 
2013-02-19 13:29:33.004 XXXX[337:907] local => iCloud impl 
2013-02-19 13:29:38.697 XXXX[337:907] Want to create file at file://localhost/private/var/mobile/Library/Mobile%20Documents/XXXX~com~XXXX~XXXX/Documents/iBoast_Art_Soodu.ibt 
2013-02-19 13:29:38.781 XXXX[337:907] File created at file://localhost/private/var/mobile/Library/Mobile%20Documents/XXXX~com~XXXX~XXXX/Documents/iBoast_Art_Soodu.ibt 
2013-02-19 13:29:38.790 XXXX[337:907] load table 
2013-02-19 13:30:38.563 XXXX[337:907] button index: 1 
2013-02-19 13:30:41.595 XXXX[337:907] iCloud available at: file://localhost/private/var/mobile/Library/Mobile%20Documents/XXXX~com~XXXX~XXXX/ 
2013-02-19 13:30:41.607 XXXX[337:907] No longer watching iCloud dir... 
2013-02-19 13:30:41.612 XXXX[337:907] Starting to watch iCloud dir... 
2013-02-19 13:30:41.780 XXXX[337:907] Success to close file://localhost/private/var/mobile/Library/Mobile%20Documents/XXXX~com~XXXX~XXXX/Documents/iBoast_Art_Soodu.ibt 
2013-02-19 13:30:41.790 XXXX[337:907] load table 
2013-02-19 13:30:42.011 XXXX[337:907] Found 0 iCloud files. 

Odpowiedz

0

nie mam autorytatywną odpowiedź na to, ale ja na pewno podejrzewasz, że jest to kwestia czasu. Spodziewam się, że pewne działania delegatów sprawdzą, kiedy element iCloud zostanie przesłany.

Poprawiłbym również trochę twoje logowanie. Linia

NSLog(@"%@",_iCloudURLs); 

Powinien mieć lepszy format. Bez tego nie jestem pewien, ale wygląda na to, że ta linia nigdy nie zostanie osiągnięta.

Powiązane problemy