2013-02-19 15 views
5

iCloudストレージに画像を使って作業しています。 this linkサンプルコードを使用して実装しています。しかしここで私は画像を表示するためにグリッドビューを使用しています。グリッドビューの場合私はAQGridViewサンプルを使用しています。今私はこれを実装している間にいくつかの問題があります。iCloudストレージを使用してグリッドビューに画像を表示できませんか?

私のプロジェクトはローカルストレージで正常に動作しますが、そのストレージでは動作しませんiCloud。グリッドビューに画像を追加している間に1つのビューしか追加されませんでしたが、処理が完了してビューから削除されましたが、私はCloudURLを取得しませんでした。

ここにいくつかの主要なコード

- (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]; 

} 

とも私は自分のアプリケーションの私のコンソールの流れを示してくれ

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. 

答えて

0

を助けてください、私はこのための正式な答えを持っていないが、私は間違いだろうこれがタイミングの問題であると思われる。 iCloudアイテムがいつアップロードされるのかを知るために、いくつかのデリゲートアクションが行われることが期待されます。

ロギングも少し改善されます。行

NSLog(@"%@",_iCloudURLs); 

より良いフォーマットが必要です。これがなければ、私は確信が持てませんが、この行には決して到達していないようです。

関連する問題