From f7e5b0891dde088ea9b863044c2e4db235e0677d Mon Sep 17 00:00:00 2001 From: Roman Efimov Date: Tue, 2 Apr 2013 10:02:19 -0500 Subject: [PATCH] Add list items example --- RETableViewManagerExample/Podfile | 2 + RETableViewManagerExample/Podfile.lock | 14 + .../SDWebImage/MKAnnotationView+WebCache.h | 1 + .../BuildHeaders/SDWebImage/SDImageCache.h | 1 + .../SDWebImage/SDWebImageCompat.h | 1 + .../SDWebImage/SDWebImageDecoder.h | 1 + .../SDWebImage/SDWebImageDownloader.h | 1 + .../SDWebImageDownloaderOperation.h | 1 + .../SDWebImage/SDWebImageManager.h | 1 + .../SDWebImage/SDWebImageOperation.h | 1 + .../SDWebImage/SDWebImagePrefetcher.h | 1 + .../SDWebImage/UIButton+WebCache.h | 1 + .../SDWebImage/UIImageView+WebCache.h | 1 + .../SDWebImage/docset-installed.txt | 4 + .../SDWebImage/docset/Contents/Info.plist | 35 + .../Categories/MKAnnotationView+WebCache.html | 754 ++++++++++ .../Categories/UIButton+WebCache.html | 1244 ++++++++++++++++ .../Categories/UIImage+ForceDecode.html | 265 ++++ .../Categories/UIImageView+WebCache.html | 870 ++++++++++++ .../Documents/Classes/SDImageCache.html | 1249 +++++++++++++++++ .../Classes/SDWebImageDownloader.html | 595 ++++++++ .../SDWebImageDownloaderOperation.html | 328 +++++ .../Documents/Classes/SDWebImageManager.html | 692 +++++++++ .../Classes/SDWebImagePrefetcher.html | 633 +++++++++ .../Protocols/SDWebImageManagerDelegate.html | 415 ++++++ .../Protocols/SDWebImageOperation.html | 268 ++++ .../Resources/Documents/css/styles.css | 584 ++++++++ .../Resources/Documents/css/stylesPrint.css | 22 + .../Resources/Documents/hierarchy.html | 111 ++ .../Documents/img/button_bar_background.png | Bin 0 -> 114 bytes .../Resources/Documents/img/disclosure.png | Bin 0 -> 206 bytes .../Documents/img/disclosure_open.png | Bin 0 -> 203 bytes .../Documents/img/library_background.png | Bin 0 -> 160 bytes .../Documents/img/title_background.png | Bin 0 -> 109 bytes .../Contents/Resources/Documents/index.html | 371 +++++ .../docset/Contents/Resources/Nodes.xml | 100 ++ .../docset/Contents/Resources/Tokens1.xml | 271 ++++ .../docset/Contents/Resources/Tokens10.xml | 60 + .../docset/Contents/Resources/Tokens11.xml | 26 + .../docset/Contents/Resources/Tokens2.xml | 132 ++ .../docset/Contents/Resources/Tokens3.xml | 70 + .../docset/Contents/Resources/Tokens4.xml | 180 +++ .../docset/Contents/Resources/Tokens5.xml | 120 ++ .../docset/Contents/Resources/Tokens6.xml | 163 +++ .../docset/Contents/Resources/Tokens7.xml | 323 +++++ .../docset/Contents/Resources/Tokens8.xml | 26 + .../docset/Contents/Resources/Tokens9.xml | 194 +++ .../docset/Contents/Resources/docSet.dsidx | Bin 0 -> 282624 bytes .../docset/Contents/Resources/docSet.mom | Bin 0 -> 13990 bytes .../docset/Contents/Resources/docSet.skidx | Bin 0 -> 61440 bytes .../docset/Contents/Resources/docSet.toc | Bin 0 -> 936 bytes .../Categories/MKAnnotationView+WebCache.html | 754 ++++++++++ .../html/Categories/UIButton+WebCache.html | 1244 ++++++++++++++++ .../html/Categories/UIImage+ForceDecode.html | 265 ++++ .../html/Categories/UIImageView+WebCache.html | 870 ++++++++++++ .../SDWebImage/html/Classes/SDImageCache.html | 1249 +++++++++++++++++ .../html/Classes/SDWebImageDownloader.html | 595 ++++++++ .../SDWebImageDownloaderOperation.html | 328 +++++ .../html/Classes/SDWebImageManager.html | 692 +++++++++ .../html/Classes/SDWebImagePrefetcher.html | 633 +++++++++ .../Protocols/SDWebImageManagerDelegate.html | 415 ++++++ .../html/Protocols/SDWebImageOperation.html | 268 ++++ .../SDWebImage/html/css/styles.css | 584 ++++++++ .../SDWebImage/html/css/stylesPrint.css | 22 + .../SDWebImage/html/hierarchy.html | 111 ++ .../html/img/button_bar_background.png | Bin 0 -> 114 bytes .../SDWebImage/html/img/disclosure.png | Bin 0 -> 206 bytes .../SDWebImage/html/img/disclosure_open.png | Bin 0 -> 203 bytes .../html/img/library_background.png | Bin 0 -> 160 bytes .../SDWebImage/html/img/title_background.png | Bin 0 -> 109 bytes .../Documentation/SDWebImage/html/index.html | 371 +++++ .../SDWebImage/MKAnnotationView+WebCache.h | 1 + .../Pods/Headers/SDWebImage/SDImageCache.h | 1 + .../Headers/SDWebImage/SDWebImageCompat.h | 1 + .../Headers/SDWebImage/SDWebImageDecoder.h | 1 + .../Headers/SDWebImage/SDWebImageDownloader.h | 1 + .../SDWebImageDownloaderOperation.h | 1 + .../Headers/SDWebImage/SDWebImageManager.h | 1 + .../Headers/SDWebImage/SDWebImageOperation.h | 1 + .../Headers/SDWebImage/SDWebImagePrefetcher.h | 1 + .../Headers/SDWebImage/UIButton+WebCache.h | 1 + .../Headers/SDWebImage/UIImageView+WebCache.h | 1 + .../Pods/Pods-Acknowledgements.markdown | 27 + .../Pods/Pods-Acknowledgements.plist | 57 + .../Pods/Pods-prefix.pch | 3 + .../Pods/Pods-resources.sh | 27 + RETableViewManagerExample/Pods/Pods.xcconfig | 7 + .../Pods/Pods.xcodeproj/project.pbxproj | 1064 ++++++++++++++ .../Pods/PodsDummy_Pods.m | 4 + .../Pods/SDWebImage/LICENSE | 20 + .../Pods/SDWebImage/README.md | 239 ++++ .../Pods/SDWebImage/SDWebImage.podspec | 28 + .../SDWebImage/MKAnnotationView+WebCache.h | 95 ++ .../SDWebImage/MKAnnotationView+WebCache.m | 78 + .../Pods/SDWebImage/SDWebImage/SDImageCache.h | 144 ++ .../Pods/SDWebImage/SDWebImage/SDImageCache.m | 312 ++++ .../SDWebImage/SDWebImage/SDWebImageCompat.h | 56 + .../SDWebImage/SDWebImage/SDWebImageCompat.m | 54 + .../SDWebImage/SDWebImage/SDWebImageDecoder.h | 18 + .../SDWebImage/SDWebImage/SDWebImageDecoder.m | 70 + .../SDWebImage/SDWebImageDownloader.h | 96 ++ .../SDWebImage/SDWebImageDownloader.m | 226 +++ .../SDWebImageDownloaderOperation.h | 25 + .../SDWebImageDownloaderOperation.m | 339 +++++ .../SDWebImage/SDWebImage/SDWebImageManager.h | 167 +++ .../SDWebImage/SDWebImage/SDWebImageManager.m | 244 ++++ .../SDWebImage/SDWebImageOperation.h | 15 + .../SDWebImage/SDWebImagePrefetcher.h | 58 + .../SDWebImage/SDWebImagePrefetcher.m | 127 ++ .../SDWebImage/SDWebImage/UIButton+WebCache.h | 173 +++ .../SDWebImage/SDWebImage/UIButton+WebCache.m | 129 ++ .../SDWebImage/UIImageView+WebCache.h | 140 ++ .../SDWebImage/UIImageView+WebCache.m | 84 ++ .../project.pbxproj | 114 +- .../Controllers}/ControlsViewController.h | 6 +- .../Controllers}/ControlsViewController.m | 0 .../Controllers}/ListViewController.h | 3 + .../Classes/Controllers/ListViewController.m | 76 + .../Controllers}/RootViewController.h | 0 .../Controllers}/RootViewController.m | 0 .../Classes/Models/ListImageItem.h | 17 + .../Classes/Models/ListImageItem.m | 20 + .../Classes/Views/ListHeaderView.h | 18 + .../Classes/Views/ListHeaderView.m | 43 + .../Classes/Views/ListImageCell.h | 17 + .../Classes/Views/ListImageCell.m | 35 + .../ListViewController.m | 22 - 127 files changed, 22997 insertions(+), 44 deletions(-) create mode 100644 RETableViewManagerExample/Podfile create mode 100644 RETableViewManagerExample/Podfile.lock create mode 120000 RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/MKAnnotationView+WebCache.h create mode 120000 RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/SDImageCache.h create mode 120000 RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/SDWebImageCompat.h create mode 120000 RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/SDWebImageDecoder.h create mode 120000 RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/SDWebImageDownloader.h create mode 120000 RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/SDWebImageDownloaderOperation.h create mode 120000 RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/SDWebImageManager.h create mode 120000 RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/SDWebImageOperation.h create mode 120000 RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/SDWebImagePrefetcher.h create mode 120000 RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/UIButton+WebCache.h create mode 120000 RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/UIImageView+WebCache.h create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset-installed.txt create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Info.plist create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Categories/MKAnnotationView+WebCache.html create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Categories/UIButton+WebCache.html create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Categories/UIImage+ForceDecode.html create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Categories/UIImageView+WebCache.html create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Classes/SDImageCache.html create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Classes/SDWebImageDownloader.html create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Classes/SDWebImageDownloaderOperation.html create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Classes/SDWebImageManager.html create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Classes/SDWebImagePrefetcher.html create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Protocols/SDWebImageManagerDelegate.html create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Protocols/SDWebImageOperation.html create mode 100755 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/css/styles.css create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/css/stylesPrint.css create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/hierarchy.html create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/img/button_bar_background.png create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/img/disclosure.png create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/img/disclosure_open.png create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/img/library_background.png create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/img/title_background.png create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/index.html create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Nodes.xml create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens1.xml create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens10.xml create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens11.xml create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens2.xml create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens3.xml create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens4.xml create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens5.xml create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens6.xml create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens7.xml create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens8.xml create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens9.xml create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/docSet.dsidx create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/docSet.mom create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/docSet.skidx create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/docSet.toc create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Categories/MKAnnotationView+WebCache.html create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Categories/UIButton+WebCache.html create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Categories/UIImage+ForceDecode.html create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Categories/UIImageView+WebCache.html create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Classes/SDImageCache.html create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Classes/SDWebImageDownloader.html create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Classes/SDWebImageDownloaderOperation.html create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Classes/SDWebImageManager.html create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Classes/SDWebImagePrefetcher.html create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Protocols/SDWebImageManagerDelegate.html create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Protocols/SDWebImageOperation.html create mode 100755 RETableViewManagerExample/Pods/Documentation/SDWebImage/html/css/styles.css create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/html/css/stylesPrint.css create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/html/hierarchy.html create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/html/img/button_bar_background.png create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/html/img/disclosure.png create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/html/img/disclosure_open.png create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/html/img/library_background.png create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/html/img/title_background.png create mode 100644 RETableViewManagerExample/Pods/Documentation/SDWebImage/html/index.html create mode 120000 RETableViewManagerExample/Pods/Headers/SDWebImage/MKAnnotationView+WebCache.h create mode 120000 RETableViewManagerExample/Pods/Headers/SDWebImage/SDImageCache.h create mode 120000 RETableViewManagerExample/Pods/Headers/SDWebImage/SDWebImageCompat.h create mode 120000 RETableViewManagerExample/Pods/Headers/SDWebImage/SDWebImageDecoder.h create mode 120000 RETableViewManagerExample/Pods/Headers/SDWebImage/SDWebImageDownloader.h create mode 120000 RETableViewManagerExample/Pods/Headers/SDWebImage/SDWebImageDownloaderOperation.h create mode 120000 RETableViewManagerExample/Pods/Headers/SDWebImage/SDWebImageManager.h create mode 120000 RETableViewManagerExample/Pods/Headers/SDWebImage/SDWebImageOperation.h create mode 120000 RETableViewManagerExample/Pods/Headers/SDWebImage/SDWebImagePrefetcher.h create mode 120000 RETableViewManagerExample/Pods/Headers/SDWebImage/UIButton+WebCache.h create mode 120000 RETableViewManagerExample/Pods/Headers/SDWebImage/UIImageView+WebCache.h create mode 100644 RETableViewManagerExample/Pods/Pods-Acknowledgements.markdown create mode 100644 RETableViewManagerExample/Pods/Pods-Acknowledgements.plist create mode 100644 RETableViewManagerExample/Pods/Pods-prefix.pch create mode 100755 RETableViewManagerExample/Pods/Pods-resources.sh create mode 100644 RETableViewManagerExample/Pods/Pods.xcconfig create mode 100644 RETableViewManagerExample/Pods/Pods.xcodeproj/project.pbxproj create mode 100644 RETableViewManagerExample/Pods/PodsDummy_Pods.m create mode 100644 RETableViewManagerExample/Pods/SDWebImage/LICENSE create mode 100644 RETableViewManagerExample/Pods/SDWebImage/README.md create mode 100644 RETableViewManagerExample/Pods/SDWebImage/SDWebImage.podspec create mode 100644 RETableViewManagerExample/Pods/SDWebImage/SDWebImage/MKAnnotationView+WebCache.h create mode 100644 RETableViewManagerExample/Pods/SDWebImage/SDWebImage/MKAnnotationView+WebCache.m create mode 100644 RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDImageCache.h create mode 100644 RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDImageCache.m create mode 100644 RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageCompat.h create mode 100644 RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageCompat.m create mode 100644 RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageDecoder.h create mode 100644 RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageDecoder.m create mode 100644 RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageDownloader.h create mode 100644 RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageDownloader.m create mode 100644 RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageDownloaderOperation.h create mode 100644 RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageDownloaderOperation.m create mode 100644 RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageManager.h create mode 100644 RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageManager.m create mode 100644 RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageOperation.h create mode 100644 RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImagePrefetcher.h create mode 100644 RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImagePrefetcher.m create mode 100644 RETableViewManagerExample/Pods/SDWebImage/SDWebImage/UIButton+WebCache.h create mode 100644 RETableViewManagerExample/Pods/SDWebImage/SDWebImage/UIButton+WebCache.m create mode 100644 RETableViewManagerExample/Pods/SDWebImage/SDWebImage/UIImageView+WebCache.h create mode 100644 RETableViewManagerExample/Pods/SDWebImage/SDWebImage/UIImageView+WebCache.m rename RETableViewManagerExample/RETableViewManagerExample/{ => Classes/Controllers}/ControlsViewController.h (75%) rename RETableViewManagerExample/RETableViewManagerExample/{ => Classes/Controllers}/ControlsViewController.m (100%) rename RETableViewManagerExample/RETableViewManagerExample/{ => Classes/Controllers}/ListViewController.h (71%) create mode 100644 RETableViewManagerExample/RETableViewManagerExample/Classes/Controllers/ListViewController.m rename RETableViewManagerExample/RETableViewManagerExample/{ => Classes/Controllers}/RootViewController.h (100%) rename RETableViewManagerExample/RETableViewManagerExample/{ => Classes/Controllers}/RootViewController.m (100%) create mode 100644 RETableViewManagerExample/RETableViewManagerExample/Classes/Models/ListImageItem.h create mode 100644 RETableViewManagerExample/RETableViewManagerExample/Classes/Models/ListImageItem.m create mode 100644 RETableViewManagerExample/RETableViewManagerExample/Classes/Views/ListHeaderView.h create mode 100644 RETableViewManagerExample/RETableViewManagerExample/Classes/Views/ListHeaderView.m create mode 100644 RETableViewManagerExample/RETableViewManagerExample/Classes/Views/ListImageCell.h create mode 100644 RETableViewManagerExample/RETableViewManagerExample/Classes/Views/ListImageCell.m delete mode 100644 RETableViewManagerExample/RETableViewManagerExample/ListViewController.m diff --git a/RETableViewManagerExample/Podfile b/RETableViewManagerExample/Podfile new file mode 100644 index 0000000..cf1ba8b --- /dev/null +++ b/RETableViewManagerExample/Podfile @@ -0,0 +1,2 @@ +platform :ios, '5.0' +pod 'SDWebImage' diff --git a/RETableViewManagerExample/Podfile.lock b/RETableViewManagerExample/Podfile.lock new file mode 100644 index 0000000..8d5b782 --- /dev/null +++ b/RETableViewManagerExample/Podfile.lock @@ -0,0 +1,14 @@ + +PODS: +- SDWebImage (3.2): + - SDWebImage/MapKit (= 3.2) +- SDWebImage/MapKit (3.2) + +DEPENDENCIES: +- SDWebImage + +SPEC CHECKSUMS: + SDWebImage: 8082fe8d658ccafaaecd9e5ecda12ed01f09ba9c + SDWebImage/MapKit: 8082fe8d658ccafaaecd9e5ecda12ed01f09ba9c + +COCOAPODS: 0.16.4 diff --git a/RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/MKAnnotationView+WebCache.h b/RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/MKAnnotationView+WebCache.h new file mode 120000 index 0000000..a1007a9 --- /dev/null +++ b/RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/MKAnnotationView+WebCache.h @@ -0,0 +1 @@ +../../SDWebImage/SDWebImage/MKAnnotationView+WebCache.h \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/SDImageCache.h b/RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/SDImageCache.h new file mode 120000 index 0000000..9893ccc --- /dev/null +++ b/RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/SDImageCache.h @@ -0,0 +1 @@ +../../SDWebImage/SDWebImage/SDImageCache.h \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/SDWebImageCompat.h b/RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/SDWebImageCompat.h new file mode 120000 index 0000000..088c749 --- /dev/null +++ b/RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/SDWebImageCompat.h @@ -0,0 +1 @@ +../../SDWebImage/SDWebImage/SDWebImageCompat.h \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/SDWebImageDecoder.h b/RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/SDWebImageDecoder.h new file mode 120000 index 0000000..b4d0b05 --- /dev/null +++ b/RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/SDWebImageDecoder.h @@ -0,0 +1 @@ +../../SDWebImage/SDWebImage/SDWebImageDecoder.h \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/SDWebImageDownloader.h b/RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/SDWebImageDownloader.h new file mode 120000 index 0000000..501f4ff --- /dev/null +++ b/RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/SDWebImageDownloader.h @@ -0,0 +1 @@ +../../SDWebImage/SDWebImage/SDWebImageDownloader.h \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/SDWebImageDownloaderOperation.h b/RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/SDWebImageDownloaderOperation.h new file mode 120000 index 0000000..a864736 --- /dev/null +++ b/RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/SDWebImageDownloaderOperation.h @@ -0,0 +1 @@ +../../SDWebImage/SDWebImage/SDWebImageDownloaderOperation.h \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/SDWebImageManager.h b/RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/SDWebImageManager.h new file mode 120000 index 0000000..f9d2aa2 --- /dev/null +++ b/RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/SDWebImageManager.h @@ -0,0 +1 @@ +../../SDWebImage/SDWebImage/SDWebImageManager.h \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/SDWebImageOperation.h b/RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/SDWebImageOperation.h new file mode 120000 index 0000000..a0769c4 --- /dev/null +++ b/RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/SDWebImageOperation.h @@ -0,0 +1 @@ +../../SDWebImage/SDWebImage/SDWebImageOperation.h \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/SDWebImagePrefetcher.h b/RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/SDWebImagePrefetcher.h new file mode 120000 index 0000000..fcc0b60 --- /dev/null +++ b/RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/SDWebImagePrefetcher.h @@ -0,0 +1 @@ +../../SDWebImage/SDWebImage/SDWebImagePrefetcher.h \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/UIButton+WebCache.h b/RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/UIButton+WebCache.h new file mode 120000 index 0000000..5586e49 --- /dev/null +++ b/RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/UIButton+WebCache.h @@ -0,0 +1 @@ +../../SDWebImage/SDWebImage/UIButton+WebCache.h \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/UIImageView+WebCache.h b/RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/UIImageView+WebCache.h new file mode 120000 index 0000000..336b44b --- /dev/null +++ b/RETableViewManagerExample/Pods/BuildHeaders/SDWebImage/UIImageView+WebCache.h @@ -0,0 +1 @@ +../../SDWebImage/SDWebImage/UIImageView+WebCache.h \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset-installed.txt b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset-installed.txt new file mode 100644 index 0000000..6aa875e --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset-installed.txt @@ -0,0 +1,4 @@ +Documentation set was installed to Xcode! + +Path: /Users/roman/Library/Developer/Shared/Documentation/DocSets/org.cocoapods.SDWebImage-3.2.docset +Time: 2013-04-02 14:39:57 +0000 \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Info.plist b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Info.plist new file mode 100644 index 0000000..1872dda --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Info.plist @@ -0,0 +1,35 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleIdentifier + org.cocoapods.SDWebImage-3.2 + CFBundleName + SDWebImage 3.2 Documentation + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1.0 + + + DocSetDescription + This library provides a category for UIImageVIew with support for remote images coming from the web. It provides an UIImageView category adding web image and cache management to the Cocoa Touch framework, an asynchronous image downloader, an asynchronous memory + disk image caching with automatic cache expiration handling, a guarantee that the same URL won't be downloaded several times, a guarantee that bogus URLs won't be retried again and again, and performances! + + DocSetFeedName + SDWebImage 3.2 Documentation + + DocSetMinimumXcodeVersion + 3.0 + + DashDocSetFamily + appledoc + DocSetPublisherIdentifier + org.cocoapods.documentation + DocSetPublisherName + Olivier Poitrey + NSHumanReadableCopyright + Olivier Poitrey + + diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Categories/MKAnnotationView+WebCache.html b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Categories/MKAnnotationView+WebCache.html new file mode 100644 index 0000000..6a7a929 --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Categories/MKAnnotationView+WebCache.html @@ -0,0 +1,754 @@ + + + + + MKAnnotationView(WebCache) Category Reference + + + + + + + +
+ + + + +
+ +
+
+ + + +
+ +
+ + + + +
Declared inMKAnnotationView+WebCache.h
+ + + + +
+ +

Overview

+

Integrates SDWebImage async downloading and caching of remote images with MKAnnotationView.

+
+ + + + + +
+ +

Tasks

+ + + + + + + +
+ + + + + + + + + +
+ +

Instance Methods

+ +
+ +

cancelCurrentImageLoad

+ + + +
+

Cancel the current download

+
+ + + +
- (void)cancelCurrentImageLoad
+ + + + + + + + + +
+

Discussion

+

Cancel the current download

+
+ + + + + + + +
+

Declared In

+ MKAnnotationView+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:

+ + + +
+

Set the imageView image with an url.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ MKAnnotationView+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:completed:

+ + + +
+

Set the imageView image with an url.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url completed:(SDWebImageCompletedBlock)completedBlock
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
completedBlock
+

A block called when operation has been completed. This block as no return value +and takes the requested UIImage as first parameter. In case of error the image parameter +is nil and the second parameter may contain an NSError. The third parameter is a Boolean +indicating if the image was retrived from the local cache of from the network.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ MKAnnotationView+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:placeholderImage:

+ + + +
+

Set the imageView image with an url and a placeholder.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
placeholder
+

The image to be set initially, until the image request finishes.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url and a placeholder.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + + + +
+

Declared In

+ MKAnnotationView+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:placeholderImage:completed:

+ + + +
+

Set the imageView image with an url, placeholder.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder completed:(SDWebImageCompletedBlock)completedBlock
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
placeholder
+

The image to be set initially, until the image request finishes.

+
+ +
+
completedBlock
+

A block called when operation has been completed. This block as no return value +and takes the requested UIImage as first parameter. In case of error the image parameter +is nil and the second parameter may contain an NSError. The third parameter is a Boolean +indicating if the image was retrived from the local cache of from the network.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url, placeholder.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ MKAnnotationView+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:placeholderImage:options:

+ + + +
+

Set the imageView image with an url, placeholder and custom options.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
placeholder
+

The image to be set initially, until the image request finishes.

+
+ +
+
options
+

The options to use when downloading the image. @see SDWebImageOptions for the possible values.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url, placeholder and custom options.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ MKAnnotationView+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:placeholderImage:options:completed:

+ + + +
+

Set the imageView image with an url, placeholder and custom options.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options completed:(SDWebImageCompletedBlock)completedBlock
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
placeholder
+

The image to be set initially, until the image request finishes.

+
+ +
+
options
+

The options to use when downloading the image. @see SDWebImageOptions for the possible values.

+
+ +
+
completedBlock
+

A block called when operation has been completed. This block as no return value +and takes the requested UIImage as first parameter. In case of error the image parameter +is nil and the second parameter may contain an NSError. The third parameter is a Boolean +indicating if the image was retrived from the local cache of from the network.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url, placeholder and custom options.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ MKAnnotationView+WebCache.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Categories/UIButton+WebCache.html b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Categories/UIButton+WebCache.html new file mode 100644 index 0000000..3d4553f --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Categories/UIButton+WebCache.html @@ -0,0 +1,1244 @@ + + + + + UIButton(WebCache) Category Reference + + + + + + + +
+ + + + +
+ +
+
+ + + +
+ +
+ + + + +
Declared inUIButton+WebCache.h
+ + + + +
+ +

Overview

+

Integrates SDWebImage async downloading and caching of remote images with UIButtonView.

+
+ + + + + +
+ +

Tasks

+ + + + + + + +
+ + + + + + + + + +
+ +

Instance Methods

+ +
+ +

cancelCurrentImageLoad

+ + + +
+

Cancel the current download

+
+ + + +
- (void)cancelCurrentImageLoad
+ + + + + + + + + +
+

Discussion

+

Cancel the current download

+
+ + + + + + + +
+

Declared In

+ UIButton+WebCache.h
+
+ + +
+ +
+ +

setBackgroundImageWithURL:forState:

+ + + +
+

Set the backgroundImageView image with an url.

+
+ + + +
- (void)setBackgroundImageWithURL:(NSURL *)url forState:(UIControlState)state
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
state
+

The state that uses the specified title. The values are described in UIControlState.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the backgroundImageView image with an url.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ UIButton+WebCache.h
+
+ + +
+ +
+ +

setBackgroundImageWithURL:forState:completed:

+ + + +
+

Set the backgroundImageView image with an url.

+
+ + + +
- (void)setBackgroundImageWithURL:(NSURL *)url forState:(UIControlState)state completed:(SDWebImageCompletedBlock)completedBlock
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
state
+

The state that uses the specified title. The values are described in UIControlState.

+
+ +
+
success
+

A block to be executed when the image request succeed This block has no return value and takes the retrieved image as argument.

+
+ +
+
failure
+

A block object to be executed when the image request failed. This block has no return value and takes the error object describing the network or parsing error that occurred (may be nil).

+
+ +
+ + + + + + + +
+

Discussion

+

Set the backgroundImageView image with an url.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ UIButton+WebCache.h
+
+ + +
+ +
+ +

setBackgroundImageWithURL:forState:placeholderImage:

+ + + +
+

Set the backgroundImageView image with an url and a placeholder.

+
+ + + +
- (void)setBackgroundImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
state
+

The state that uses the specified title. The values are described in UIControlState.

+
+ +
+
placeholder
+

The image to be set initially, until the image request finishes.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the backgroundImageView image with an url and a placeholder.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ UIButton+WebCache.h
+
+ + +
+ +
+ +

setBackgroundImageWithURL:forState:placeholderImage:completed:

+ + + +
+

Set the backgroundImageView image with an url, placeholder.

+
+ + + +
- (void)setBackgroundImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder completed:(SDWebImageCompletedBlock)completedBlock
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
state
+

The state that uses the specified title. The values are described in UIControlState.

+
+ +
+
placeholder
+

The image to be set initially, until the image request finishes.

+
+ +
+
success
+

A block to be executed when the image request succeed This block has no return value and takes the retrieved image as argument.

+
+ +
+
failure
+

A block object to be executed when the image request failed. This block has no return value and takes the error object describing the network or parsing error that occurred (may be nil).

+
+ +
+ + + + + + + +
+

Discussion

+

Set the backgroundImageView image with an url, placeholder.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ UIButton+WebCache.h
+
+ + +
+ +
+ +

setBackgroundImageWithURL:forState:placeholderImage:options:

+ + + +
+

Set the backgroundImageView image with an url, placeholder and custom options.

+
+ + + +
- (void)setBackgroundImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
state
+

The state that uses the specified title. The values are described in UIControlState.

+
+ +
+
placeholder
+

The image to be set initially, until the image request finishes.

+
+ +
+
options
+

The options to use when downloading the image. @see SDWebImageOptions for the possible values.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the backgroundImageView image with an url, placeholder and custom options.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ UIButton+WebCache.h
+
+ + +
+ +
+ +

setBackgroundImageWithURL:forState:placeholderImage:options:completed:

+ + + +
+

Set the backgroundImageView image with an url, placeholder and custom options.

+
+ + + +
- (void)setBackgroundImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options completed:(SDWebImageCompletedBlock)completedBlock
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
placeholder
+

The image to be set initially, until the image request finishes.

+
+ +
+
options
+

The options to use when downloading the image. @see SDWebImageOptions for the possible values.

+
+ +
+
success
+

A block to be executed when the image request succeed This block has no return value and takes the retrieved image as argument.

+
+ +
+
failure
+

A block object to be executed when the image request failed. This block has no return value and takes the error object describing the network or parsing error that occurred (may be nil).

+
+ +
+ + + + + + + +
+

Discussion

+

Set the backgroundImageView image with an url, placeholder and custom options.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ UIButton+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:forState:

+ + + +
+

Set the imageView image with an url.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url forState:(UIControlState)state
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
state
+

The state that uses the specified title. The values are described in UIControlState.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ UIButton+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:forState:completed:

+ + + +
+

Set the imageView image with an url.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url forState:(UIControlState)state completed:(SDWebImageCompletedBlock)completedBlock
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
state
+

The state that uses the specified title. The values are described in UIControlState.

+
+ +
+
completedBlock
+

A block called when operation has been completed. This block as no return value +and takes the requested UIImage as first parameter. In case of error the image parameter +is nil and the second parameter may contain an NSError. The third parameter is a Boolean +indicating if the image was retrived from the local cache of from the network.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ UIButton+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:forState:placeholderImage:

+ + + +
+

Set the imageView image with an url and a placeholder.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
state
+

The state that uses the specified title. The values are described in UIControlState.

+
+ +
+
placeholder
+

The image to be set initially, until the image request finishes.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url and a placeholder.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ UIButton+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:forState:placeholderImage:completed:

+ + + +
+

Set the imageView image with an url, placeholder.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder completed:(SDWebImageCompletedBlock)completedBlock
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
state
+

The state that uses the specified title. The values are described in UIControlState.

+
+ +
+
placeholder
+

The image to be set initially, until the image request finishes.

+
+ +
+
completedBlock
+

A block called when operation has been completed. This block as no return value +and takes the requested UIImage as first parameter. In case of error the image parameter +is nil and the second parameter may contain an NSError. The third parameter is a Boolean +indicating if the image was retrived from the local cache of from the network.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url, placeholder.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ UIButton+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:forState:placeholderImage:options:

+ + + +
+

Set the imageView image with an url, placeholder and custom options.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
state
+

The state that uses the specified title. The values are described in UIControlState.

+
+ +
+
placeholder
+

The image to be set initially, until the image request finishes.

+
+ +
+
options
+

The options to use when downloading the image. @see SDWebImageOptions for the possible values.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url, placeholder and custom options.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ UIButton+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:forState:placeholderImage:options:completed:

+ + + +
+

Set the imageView image with an url, placeholder and custom options.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options completed:(SDWebImageCompletedBlock)completedBlock
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
state
+

The state that uses the specified title. The values are described in UIControlState.

+
+ +
+
placeholder
+

The image to be set initially, until the image request finishes.

+
+ +
+
options
+

The options to use when downloading the image. @see SDWebImageOptions for the possible values.

+
+ +
+
completedBlock
+

A block called when operation has been completed. This block as no return value +and takes the requested UIImage as first parameter. In case of error the image parameter +is nil and the second parameter may contain an NSError. The third parameter is a Boolean +indicating if the image was retrived from the local cache of from the network.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url, placeholder and custom options.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ UIButton+WebCache.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Categories/UIImage+ForceDecode.html b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Categories/UIImage+ForceDecode.html new file mode 100644 index 0000000..6251ad2 --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Categories/UIImage+ForceDecode.html @@ -0,0 +1,265 @@ + + + + + UIImage(ForceDecode) Category Reference + + + + + + + +
+ + + + +
+ +
+
+ + + +
+ +
+ + + + +
Declared inSDWebImageDecoder.h
+ + + + + + +
+ +

Tasks

+ + + + + + + +
+ + + + + + + +
+ +

Class Methods

+ +
+ +

decodedImageWithImage:

+ + + +
+ (UIImage *)decodedImageWithImage:(UIImage *)image
+ + +
+ +
+ + + + +
+ + +
+
+ + + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Categories/UIImageView+WebCache.html b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Categories/UIImageView+WebCache.html new file mode 100644 index 0000000..cfc46b6 --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Categories/UIImageView+WebCache.html @@ -0,0 +1,870 @@ + + + + + UIImageView(WebCache) Category Reference + + + + + + + +
+ + + + +
+ +
+
+ + + +
+ +
+ + + + +
Declared inUIImageView+WebCache.h
+ + + + +
+ +

Overview

+

Integrates SDWebImage async downloading and caching of remote images with UIImageView.

+ +

Usage with a UITableViewCell sub-class:

+ +
#import <SDWebImage/UIImageView+WebCache.h>
+
+...
+
+- (UITableViewCell *)tableView:(UITableView *)tableView
+         cellForRowAtIndexPath:(NSIndexPath *)indexPath
+{
+    static NSString *MyIdentifier = @"MyIdentifier";
+
+    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];
+
+    if (cell == nil)
+    {
+        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
+                                       reuseIdentifier:MyIdentifier] autorelease];
+    }
+
+    // Here we use the provided setImageWithURL: method to load the web image
+    // Ensure you use a placeholder image otherwise cells will be initialized with no image
+    [cell.imageView setImageWithURL:[NSURL URLWithString:@"http://example.com/image.jpg"]
+                   placeholderImage:[UIImage imageNamed:@"placeholder"]];
+
+    cell.textLabel.text = @"My Text";
+    return cell;
+}
+
+
+ + + + + +
+ +

Tasks

+ + + + + + + +
+ + + + + + + + + +
+ +

Instance Methods

+ +
+ +

cancelCurrentImageLoad

+ + + +
+

Cancel the current download

+
+ + + +
- (void)cancelCurrentImageLoad
+ + + + + + + + + +
+

Discussion

+

Cancel the current download

+
+ + + + + + + +
+

Declared In

+ UIImageView+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:

+ + + +
+

Set the imageView image with an url.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ UIImageView+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:completed:

+ + + +
+

Set the imageView image with an url.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url completed:(SDWebImageCompletedBlock)completedBlock
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
completedBlock
+

A block called when operation has been completed. This block as no return value +and takes the requested UIImage as first parameter. In case of error the image parameter +is nil and the second parameter may contain an NSError. The third parameter is a Boolean +indicating if the image was retrived from the local cache of from the network.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ UIImageView+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:placeholderImage:

+ + + +
+

Set the imageView image with an url and a placeholder.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
placeholder
+

The image to be set initially, until the image request finishes.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url and a placeholder.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + + + +
+

Declared In

+ UIImageView+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:placeholderImage:completed:

+ + + +
+

Set the imageView image with an url, placeholder.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder completed:(SDWebImageCompletedBlock)completedBlock
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
placeholder
+

The image to be set initially, until the image request finishes.

+
+ +
+
completedBlock
+

A block called when operation has been completed. This block as no return value +and takes the requested UIImage as first parameter. In case of error the image parameter +is nil and the second parameter may contain an NSError. The third parameter is a Boolean +indicating if the image was retrived from the local cache of from the network.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url, placeholder.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ UIImageView+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:placeholderImage:options:

+ + + +
+

Set the imageView image with an url, placeholder and custom options.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
placeholder
+

The image to be set initially, until the image request finishes.

+
+ +
+
options
+

The options to use when downloading the image. @see SDWebImageOptions for the possible values.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url, placeholder and custom options.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ UIImageView+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:placeholderImage:options:completed:

+ + + +
+

Set the imageView image with an url, placeholder and custom options.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options completed:(SDWebImageCompletedBlock)completedBlock
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
placeholder
+

The image to be set initially, until the image request finishes.

+
+ +
+
options
+

The options to use when downloading the image. @see SDWebImageOptions for the possible values.

+
+ +
+
completedBlock
+

A block called when operation has been completed. This block as no return value +and takes the requested UIImage as first parameter. In case of error the image parameter +is nil and the second parameter may contain an NSError. The third parameter is a Boolean +indicating if the image was retrived from the local cache of from the network.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url, placeholder and custom options.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ UIImageView+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:placeholderImage:options:progress:completed:

+ + + +
+

Set the imageView image with an url, placeholder and custom options.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options progress:(SDWebImageDownloaderProgressBlock)progressBlock completed:(SDWebImageCompletedBlock)completedBlock
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
placeholder
+

The image to be set initially, until the image request finishes.

+
+ +
+
options
+

The options to use when downloading the image. @see SDWebImageOptions for the possible values.

+
+ +
+
progressBlock
+

A block called while image is downloading

+
+ +
+
completedBlock
+

A block called when operation has been completed. This block as no return value +and takes the requested UIImage as first parameter. In case of error the image parameter +is nil and the second parameter may contain an NSError. The third parameter is a Boolean +indicating if the image was retrived from the local cache of from the network.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url, placeholder and custom options.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ UIImageView+WebCache.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Classes/SDImageCache.html b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Classes/SDImageCache.html new file mode 100644 index 0000000..90bcdb3 --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Classes/SDImageCache.html @@ -0,0 +1,1249 @@ + + + + + SDImageCache Class Reference + + + + + + + +
+ + + + +
+ +
+
+ + + +
+ +
+ + + + + + + +
Inherits fromNSObject
Declared inSDImageCache.h
+ + + + +
+ +

Overview

+

SDImageCache maintains a memory cache and an optional disk cache. Disk cache write operations are performed +asynchronous so it doesn’t add unnecessary latency to the UI.

+
+ + + + + +
+ +

Tasks

+ + + + + + + +
+ + + + + +
+ +

Properties

+ +
+ +

maxCacheAge

+ + + +
+

The maximum length of time to keep an image in the cache, in seconds

+
+ + + +
@property (assign, nonatomic) NSInteger maxCacheAge
+ + + + + + + + + +
+

Discussion

+

The maximum length of time to keep an image in the cache, in seconds

+
+ + + + + + + +
+

Declared In

+ SDImageCache.h
+
+ + +
+ +
+ + + +
+ +

Class Methods

+ +
+ +

sharedImageCache

+ + + +
+

Returns global shared cache instance

+
+ + + +
+ (SDImageCache *)sharedImageCache
+ + + + + +
+

Return Value

+

SDImageCache global instance

+
+ + + + + +
+

Discussion

+

Returns global shared cache instance

+
+ + + + + + + +
+

Declared In

+ SDImageCache.h
+
+ + +
+ +
+ + + +
+ +

Instance Methods

+ +
+ +

cleanDisk

+ + + +
+

Remove all expired cached image from disk

+
+ + + +
- (void)cleanDisk
+ + + + + + + + + +
+

Discussion

+

Remove all expired cached image from disk

+
+ + + + + + + +
+

Declared In

+ SDImageCache.h
+
+ + +
+ +
+ +

clearDisk

+ + + +
+

Clear all disk cached images

+
+ + + +
- (void)clearDisk
+ + + + + + + + + +
+

Discussion

+

Clear all disk cached images

+
+ + + + + + + +
+

Declared In

+ SDImageCache.h
+
+ + +
+ +
+ +

clearMemory

+ + + +
+

Clear all memory cached images

+
+ + + +
- (void)clearMemory
+ + + + + + + + + +
+

Discussion

+

Clear all memory cached images

+
+ + + + + + + +
+

Declared In

+ SDImageCache.h
+
+ + +
+ +
+ +

getDiskCount

+ + + +
+

Get the number of images in the disk cache

+
+ + + +
- (int)getDiskCount
+ + + + + + + + + +
+

Discussion

+

Get the number of images in the disk cache

+
+ + + + + + + +
+

Declared In

+ SDImageCache.h
+
+ + +
+ +
+ +

getSize

+ + + +
+

Get the size used by the disk cache

+
+ + + +
- (int)getSize
+ + + + + + + + + +
+

Discussion

+

Get the size used by the disk cache

+
+ + + + + + + +
+

Declared In

+ SDImageCache.h
+
+ + +
+ +
+ +

imageFromDiskCacheForKey:

+ + + +
+

Query the disk cache synchronousely.

+
+ + + +
- (UIImage *)imageFromDiskCacheForKey:(NSString *)key
+ + + +
+

Parameters

+ +
+
key
+

The unique key used to store the wanted image

+
+ +
+ + + + + + + +
+

Discussion

+

Query the disk cache synchronousely.

+
+ + + + + + + +
+

Declared In

+ SDImageCache.h
+
+ + +
+ +
+ +

imageFromMemoryCacheForKey:

+ + + +
+

Query the memory cache.

+
+ + + +
- (UIImage *)imageFromMemoryCacheForKey:(NSString *)key
+ + + +
+

Parameters

+ +
+
key
+

The unique key used to store the wanted image

+
+ +
+ + + + + + + +
+

Discussion

+

Query the memory cache.

+
+ + + + + + + +
+

Declared In

+ SDImageCache.h
+
+ + +
+ +
+ +

initWithNamespace:

+ + + +
+

Init a new cache store with a specific namespace

+
+ + + +
- (id)initWithNamespace:(NSString *)ns
+ + + +
+

Parameters

+ +
+
ns
+

The namespace to use for this cache store

+
+ +
+ + + + + + + +
+

Discussion

+

Init a new cache store with a specific namespace

+
+ + + + + + + +
+

Declared In

+ SDImageCache.h
+
+ + +
+ +
+ +

queryDiskCacheForKey:done:

+ + + +
+

Query the disk cache asynchronousely.

+
+ + + +
- (void)queryDiskCacheForKey:(NSString *)key done:(void ( ^ ) ( UIImage *image , SDImageCacheType cacheType ))doneBlock
+ + + +
+

Parameters

+ +
+
key
+

The unique key used to store the wanted image

+
+ +
+ + + + + + + +
+

Discussion

+

Query the disk cache asynchronousely.

+
+ + + + + + + +
+

Declared In

+ SDImageCache.h
+
+ + +
+ +
+ +

removeImageForKey:

+ + + +
+

Remove the image from memory and disk cache synchronousely

+
+ + + +
- (void)removeImageForKey:(NSString *)key
+ + + +
+

Parameters

+ +
+
key
+

The unique image cache key

+
+ +
+ + + + + + + +
+

Discussion

+

Remove the image from memory and disk cache synchronousely

+
+ + + + + + + +
+

Declared In

+ SDImageCache.h
+
+ + +
+ +
+ +

removeImageForKey:fromDisk:

+ + + +
+

Remove the image from memory and optionaly disk cache synchronousely

+
+ + + +
- (void)removeImageForKey:(NSString *)key fromDisk:(BOOL)fromDisk
+ + + +
+

Parameters

+ +
+
key
+

The unique image cache key

+
+ +
+
fromDisk
+

Also remove cache entry from disk if YES

+
+ +
+ + + + + + + +
+

Discussion

+

Remove the image from memory and optionaly disk cache synchronousely

+
+ + + + + + + +
+

Declared In

+ SDImageCache.h
+
+ + +
+ +
+ +

storeImage:forKey:

+ + + +
+

Store an image into memory and disk cache at the given key.

+
+ + + +
- (void)storeImage:(UIImage *)image forKey:(NSString *)key
+ + + +
+

Parameters

+ +
+
image
+

The image to store

+
+ +
+
key
+

The unique image cache key, usually it’s image absolute URL

+
+ +
+ + + + + + + +
+

Discussion

+

Store an image into memory and disk cache at the given key.

+
+ + + + + + + +
+

Declared In

+ SDImageCache.h
+
+ + +
+ +
+ +

storeImage:forKey:toDisk:

+ + + +
+

Store an image into memory and optionally disk cache at the given key.

+
+ + + +
- (void)storeImage:(UIImage *)image forKey:(NSString *)key toDisk:(BOOL)toDisk
+ + + +
+

Parameters

+ +
+
image
+

The image to store

+
+ +
+
key
+

The unique image cache key, usually it’s image absolute URL

+
+ +
+
toDisk
+

Store the image to disk cache if YES

+
+ +
+ + + + + + + +
+

Discussion

+

Store an image into memory and optionally disk cache at the given key.

+
+ + + + + + + +
+

Declared In

+ SDImageCache.h
+
+ + +
+ +
+ +

storeImage:imageData:forKey:toDisk:

+ + + +
+

Store an image into memory and optionally disk cache at the given key.

+
+ + + +
- (void)storeImage:(UIImage *)image imageData:(NSData *)data forKey:(NSString *)key toDisk:(BOOL)toDisk
+ + + +
+

Parameters

+ +
+
image
+

The image to store

+
+ +
+
data
+

The image data as returned by the server, this representation will be used for disk storage +instead of converting the given image object into a storable/compressed image format in order +to save quality and CPU

+
+ +
+
key
+

The unique image cache key, usually it’s image absolute URL

+
+ +
+
toDisk
+

Store the image to disk cache if YES

+
+ +
+ + + + + + + +
+

Discussion

+

Store an image into memory and optionally disk cache at the given key.

+
+ + + + + + + +
+

Declared In

+ SDImageCache.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Classes/SDWebImageDownloader.html b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Classes/SDWebImageDownloader.html new file mode 100644 index 0000000..53b66a5 --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Classes/SDWebImageDownloader.html @@ -0,0 +1,595 @@ + + + + + SDWebImageDownloader Class Reference + + + + + + + +
+ + + + +
+ +
+
+ + + +
+ +
+ + + + + + + +
Inherits fromNSObject
Declared inSDWebImageDownloader.h
+ + + + +
+ +

Overview

+

Asynchronous downloader dedicated and optimized for image loading.

+
+ + + + + +
+ +

Tasks

+ + + + + + + +
+ + + + + +
+ +

Properties

+ +
+ +

maxConcurrentDownloads

+ + + +
@property (assign, nonatomic) NSInteger maxConcurrentDownloads
+ + +
+ +
+ +

queueMode

+ + + +
+

Changes download operations unqueue mode. Default value is SDWebImageDownloaderFILOQueueMode.

+
+ + + +
@property (assign, nonatomic) SDWebImageDownloaderQueueMode queueMode
+ + + + + + + + + +
+

Discussion

+

Changes download operations unqueue mode. Default value is SDWebImageDownloaderFILOQueueMode.

+
+ + + + + + + +
+

Declared In

+ SDWebImageDownloader.h
+
+ + +
+ +
+ + + +
+ +

Class Methods

+ +
+ +

sharedDownloader

+ + + +
+ (SDWebImageDownloader *)sharedDownloader
+ + +
+ +
+ + + +
+ +

Instance Methods

+ +
+ +

downloadImageWithURL:options:progress:completed:

+ + + +
+

Creates a SDWebImageDownloader async downloader instance with a given URL

+
+ + + +
- (id<SDWebImageOperation>)downloadImageWithURL:(NSURL *)url options:(SDWebImageDownloaderOptions)options progress:(SDWebImageDownloaderProgressBlock)progressBlock completed:(SDWebImageDownloaderCompletedBlock)completedBlock
+ + + +
+

Parameters

+ +
+
url
+

The URL to the image to download

+
+ +
+
options
+

The options to be used for this download

+
+ +
+
completed
+

A block called once the download is completed. +If the download succeeded, the image parameter is set, in case of error, +error parameter is set with the error. The last parameter is always YES +if SDWebImageDownloaderProgressiveDownload isn’t use. With the +SDWebImageDownloaderProgressiveDownload option, this block is called +repeatedly with the partial image object and the finished argument set to NO +before to be called a last time with the full image and finished argument +set to YES. In case of error, the finished argument is always YES.

+
+ +
+
progress
+

A block called repeatedly while the image is downloading

+
+ +
+ + + +
+

Return Value

+

A cancellable SDWebImageOperation

+
+ + + + + +
+

Discussion

+

Creates a SDWebImageDownloader async downloader instance with a given URL

+ +

The delegate will be informed when the image is finish downloaded or an error has happen.

+
+ + + + + + + +
+

Declared In

+ SDWebImageDownloader.h
+
+ + +
+ +
+ +

setValue:forHTTPHeaderField:

+ + + +
+

Set a value for a HTTP header to be appended to each download HTTP request.

+
+ + + +
- (void)setValue:(NSString *)value forHTTPHeaderField:(NSString *)field
+ + + +
+

Parameters

+ +
+
value
+

The value for the header field. Use nil value to remove the header.

+
+ +
+
field
+

The name of the header field to set.

+
+ +
+ + + + + + + +
+

Discussion

+

Set a value for a HTTP header to be appended to each download HTTP request.

+
+ + + + + + + +
+

Declared In

+ SDWebImageDownloader.h
+
+ + +
+ +
+ +

valueForHTTPHeaderField:

+ + + +
+

Returns the value of the specified HTTP header field.

+
+ + + +
- (NSString *)valueForHTTPHeaderField:(NSString *)field
+ + + + + +
+

Return Value

+

The value associated with the header field field, or nil if there is no corresponding header field.

+
+ + + + + +
+

Discussion

+

Returns the value of the specified HTTP header field.

+
+ + + + + + + +
+

Declared In

+ SDWebImageDownloader.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Classes/SDWebImageDownloaderOperation.html b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Classes/SDWebImageDownloaderOperation.html new file mode 100644 index 0000000..442ab43 --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Classes/SDWebImageDownloaderOperation.html @@ -0,0 +1,328 @@ + + + + + SDWebImageDownloaderOperation Class Reference + + + + + + + +
+ + + + +
+ +
+
+ + + +
+ +
+ + + + + + + + + + +
Inherits fromNSOperation
Conforms toSDWebImageOperation
Declared inSDWebImageDownloaderOperation.h
+ + + + + + +
+ +

Tasks

+ + + + + + + +
+ + + + + +
+ +

Properties

+ +
+ +

options

+ + + +
@property (assign, nonatomic, readonly) SDWebImageDownloaderOptions options
+ + +
+ +
+ +

request

+ + + +
@property (strong, nonatomic, readonly) NSURLRequest *request
+ + +
+ +
+ + + + + +
+ +

Instance Methods

+ +
+ +

initWithRequest:queue:options:progress:completed:cancelled:

+ + + +
- (id)initWithRequest:(NSURLRequest *)request queue:(dispatch_queue_t)queue options:(SDWebImageDownloaderOptions)options progress:(SDWebImageDownloaderProgressBlock)progressBlock completed:(SDWebImageDownloaderCompletedBlock)completedBlock cancelled:(void ( ^ ) ( ))cancelBlock
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Classes/SDWebImageManager.html b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Classes/SDWebImageManager.html new file mode 100644 index 0000000..bd9ccf3 --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Classes/SDWebImageManager.html @@ -0,0 +1,692 @@ + + + + + SDWebImageManager Class Reference + + + + + + + +
+ + + + +
+ +
+
+ + + +
+ +
+ + + + + + + +
Inherits fromNSObject
Declared inSDWebImageManager.h
+ + + + +
+ +

Overview

+

The SDWebImageManager is the class behind the UIImageView+WebCache category and likes. +It ties the asynchronous downloader (SDWebImageDownloader) with the image cache store (SDImageCache). +You can use this class directly to benefit from web image downloading with caching in another context than +a UIView.

+ +

Here is a simple example of how to use SDWebImageManager:

+ +

SDWebImageManager manager = [SDWebImageManager sharedManager]; +[manager downloadWithURL:imageURL +delegate:self +options:0 +progress:nil +completed:^(UIImage image, NSError *error, BOOL fromCache) +{ +if (image) +{ +// do something with image +} +}];

+
+ + + + + +
+ +

Tasks

+ + + + + + + +
+ + + + + +
+ +

Properties

+ +
+ +

cacheKeyFilter

+ + + +
+

The cache filter is a block used each time SDWebImageManager need to convert an URL into a cache key. This can +be used to remove dynamic part of an image URL.

+
+ + + +
@property (strong) NSString *^ ) ( NSURL *url ) cacheKeyFilter
+ + + + + + + + + +
+

Discussion

+

The cache filter is a block used each time SDWebImageManager need to convert an URL into a cache key. This can +be used to remove dynamic part of an image URL.

+ +

The following example sets a filter in the application delegate that will remove any query-string from the +URL before to use it as a cache key:

+ +
[[SDWebImageManager sharedManager] setCacheKeyFilter:^(NSURL *url)
+{
+    url = [[NSURL alloc] initWithScheme:url.scheme host:url.host path:url.path];
+    return [url absoluteString];
+}];
+
+
+ + + + + + + +
+

Declared In

+ SDWebImageManager.h
+
+ + +
+ +
+ +

delegate

+ + + +
@property (weak, nonatomic) id<SDWebImageManagerDelegate> delegate
+ + +
+ +
+ +

imageCache

+ + + +
@property (strong, nonatomic, readonly) SDImageCache *imageCache
+ + +
+ +
+ +

imageDownloader

+ + + +
@property (strong, nonatomic, readonly) SDWebImageDownloader *imageDownloader
+ + +
+ +
+ + + +
+ +

Class Methods

+ +
+ +

sharedManager

+ + + +
+

Returns global SDWebImageManager instance.

+
+ + + +
+ (SDWebImageManager *)sharedManager
+ + + + + +
+

Return Value

+

SDWebImageManager shared instance

+
+ + + + + +
+

Discussion

+

Returns global SDWebImageManager instance.

+
+ + + + + + + +
+

Declared In

+ SDWebImageManager.h
+
+ + +
+ +
+ + + +
+ +

Instance Methods

+ +
+ +

cancelAll

+ + + +
+

Cancel all current opreations

+
+ + + +
- (void)cancelAll
+ + + + + + + + + +
+

Discussion

+

Cancel all current opreations

+
+ + + + + + + +
+

Declared In

+ SDWebImageManager.h
+
+ + +
+ +
+ +

downloadWithURL:options:progress:completed:

+ + + +
+

Downloads the image at the given URL if not present in cache or return the cached version otherwise.

+
+ + + +
- (id<SDWebImageOperation>)downloadWithURL:(NSURL *)url options:(SDWebImageOptions)options progress:(SDWebImageDownloaderProgressBlock)progressBlock completed:(SDWebImageCompletedWithFinishedBlock)completedBlock
+ + + +
+

Parameters

+ +
+
url
+

The URL to the image

+
+ +
+
options
+

A mask to specify options to use for this request

+
+ +
+
progressBlock
+

A block called while image is downloading

+
+ +
+
completedBlock
+

A block called when operation has been completed.

+ +

This block as no return value and takes the requested UIImage as first parameter. +In case of error the image parameter is nil and the second parameter may contain an NSError.

+ +

The third parameter is a Boolean indicating if the image was retrived from the local cache +of from the network.

+ +

The last parameter is set to NO when the SDWebImageProgressiveDownload option is used and +the image is downloading. This block is thus called repetidly with a partial image. When +image is fully downloaded, the block is called a last time with the full image and the last +parameter set to YES.

+
+ +
+
delegate
+

The delegate object used to send result back

+
+ +
+ + + +
+

Return Value

+

Returns a cancellable NSOperation

+
+ + + + + +
+

Discussion

+

Downloads the image at the given URL if not present in cache or return the cached version otherwise.

+
+ + + + + + + +
+

Declared In

+ SDWebImageManager.h
+
+ + +
+ +
+ +

isRunning

+ + + +
+

Check one or more operations running

+
+ + + +
- (BOOL)isRunning
+ + + + + + + + + +
+

Discussion

+

Check one or more operations running

+
+ + + + + + + +
+

Declared In

+ SDWebImageManager.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Classes/SDWebImagePrefetcher.html b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Classes/SDWebImagePrefetcher.html new file mode 100644 index 0000000..bb2c033 --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Classes/SDWebImagePrefetcher.html @@ -0,0 +1,633 @@ + + + + + SDWebImagePrefetcher Class Reference + + + + + + + +
+ + + + +
+ +
+
+ + + +
+ +
+ + + + + + + +
Inherits fromNSObject
Declared inSDWebImagePrefetcher.h
+ + + + +
+ +

Overview

+

Prefetch some URLs in the cache for future use. Images are downloaded in low priority.

+
+ + + + + +
+ +

Tasks

+ + + + + +
    +
  • + +   maxConcurrentDownloads +

    Maximum number of URLs to prefetch at the same time. Defaults to 3.

    +
    + property + +
  • + +   options +

    SDWebImageOptions for prefetcher. Defaults to SDWebImageLowPriority.

    +
    + property + +
  • + + + sharedImagePrefetcher +

    Return the global image prefetcher instance.

    +
    + + +
  • + + – prefetchURLs: +

    Assign list of URLs to let SDWebImagePrefetcher to queue the prefetching, +currently one image is downloaded at a time, +and skips images for failed downloads and proceed to the next image in the list

    +
    + + +
  • + + – prefetchURLs:completed: +

    Assign list of URLs to let SDWebImagePrefetcher to queue the prefetching, +currently one image is downloaded at a time, +and skips images for failed downloads and proceed to the next image in the list

    +
    + + +
  • + + – cancelPrefetching +

    Remove and cancel queued list

    +
    + + +
  • +
+ +
+ + + + + +
+ +

Properties

+ +
+ +

maxConcurrentDownloads

+ + + +
+

Maximum number of URLs to prefetch at the same time. Defaults to 3.

+
+ + + +
@property (nonatomic, assign) NSUInteger maxConcurrentDownloads
+ + + + + + + + + +
+

Discussion

+

Maximum number of URLs to prefetch at the same time. Defaults to 3.

+
+ + + + + + + +
+

Declared In

+ SDWebImagePrefetcher.h
+
+ + +
+ +
+ +

options

+ + + +
+

SDWebImageOptions for prefetcher. Defaults to SDWebImageLowPriority.

+
+ + + +
@property (nonatomic, assign) SDWebImageOptions options
+ + + + + + + + + +
+

Discussion

+

SDWebImageOptions for prefetcher. Defaults to SDWebImageLowPriority.

+
+ + + + + + + +
+

Declared In

+ SDWebImagePrefetcher.h
+
+ + +
+ +
+ + + +
+ +

Class Methods

+ +
+ +

sharedImagePrefetcher

+ + + +
+

Return the global image prefetcher instance.

+
+ + + +
+ (SDWebImagePrefetcher *)sharedImagePrefetcher
+ + + + + + + + + +
+

Discussion

+

Return the global image prefetcher instance.

+
+ + + + + + + +
+

Declared In

+ SDWebImagePrefetcher.h
+
+ + +
+ +
+ + + +
+ +

Instance Methods

+ +
+ +

cancelPrefetching

+ + + +
+

Remove and cancel queued list

+
+ + + +
- (void)cancelPrefetching
+ + + + + + + + + +
+

Discussion

+

Remove and cancel queued list

+
+ + + + + + + +
+

Declared In

+ SDWebImagePrefetcher.h
+
+ + +
+ +
+ +

prefetchURLs:

+ + + +
+

Assign list of URLs to let SDWebImagePrefetcher to queue the prefetching, +currently one image is downloaded at a time, +and skips images for failed downloads and proceed to the next image in the list

+
+ + + +
- (void)prefetchURLs:(NSArray *)urls
+ + + +
+

Parameters

+ +
+
urls
+

list of URLs to prefetch

+
+ +
+ + + + + + + +
+

Discussion

+

Assign list of URLs to let SDWebImagePrefetcher to queue the prefetching, +currently one image is downloaded at a time, +and skips images for failed downloads and proceed to the next image in the list

+
+ + + + + + + +
+

Declared In

+ SDWebImagePrefetcher.h
+
+ + +
+ +
+ +

prefetchURLs:completed:

+ + + +
+

Assign list of URLs to let SDWebImagePrefetcher to queue the prefetching, +currently one image is downloaded at a time, +and skips images for failed downloads and proceed to the next image in the list

+
+ + + +
- (void)prefetchURLs:(NSArray *)urls completed:(void ( ^ ) ( NSUInteger finishedCount , NSUInteger skippedCount ))completionBlock
+ + + +
+

Parameters

+ +
+
urls
+

list of URLs to prefetch

+
+ +
+
completionBlock
+

block to be called when prefetching is completed

+
+ +
+ + + + + + + +
+

Discussion

+

Assign list of URLs to let SDWebImagePrefetcher to queue the prefetching, +currently one image is downloaded at a time, +and skips images for failed downloads and proceed to the next image in the list

+
+ + + + + + + +
+

Declared In

+ SDWebImagePrefetcher.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Protocols/SDWebImageManagerDelegate.html b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Protocols/SDWebImageManagerDelegate.html new file mode 100644 index 0000000..53eec44 --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Protocols/SDWebImageManagerDelegate.html @@ -0,0 +1,415 @@ + + + + + SDWebImageManagerDelegate Protocol Reference + + + + + + + +
+ + + + +
+ +
+
+ + + +
+ +
+ + + + + + + +
Conforms toNSObject
Declared inSDWebImageManager.h
+ + + + +
+ +

Overview

+

Even if the image is cached, respect the HTTP response cache control, and refresh the image from remote location if needed. +The disk caching will be handled by NSURLCache instead of SDWebImage leading to slight performance degradation. +This option helps deal with images changing behind the same request URL, e.g. Facebook graph api profile pics. +If a cached image is refreshed, the completion block is called once with the cached image and again with the final image.

+ +

Use this flag only if you can’t make your URLs static with embeded cache busting parameter.

+
+ + + + + +
+ +

Tasks

+ + + + + + + +
+ + + + + + + + + +
+ +

Instance Methods

+ +
+ +

imageManager:shouldDownloadImageForURL:

+ + + +
+

Controls which image should be downloaded when the image is not found in the cache.

+
+ + + +
- (BOOL)imageManager:(SDWebImageManager *)imageManager shouldDownloadImageForURL:(NSURL *)imageURL
+ + + +
+

Parameters

+ +
+
imageManager
+

The current SDWebImageManager

+
+ +
+
imageURL
+

The url of the image to be downloaded

+
+ +
+ + + +
+

Return Value

+

Return NO to prevent the downloading of the image on cache misses. If not implemented, YES is implied.

+
+ + + + + +
+

Discussion

+

Controls which image should be downloaded when the image is not found in the cache.

+
+ + + + + + + +
+

Declared In

+ SDWebImageManager.h
+
+ + +
+ +
+ +

imageManager:transformDownloadedImage:withURL:

+ + + +
+

Allows to transform the image immediately after it has been downloaded and just before to cache it on disk and memory. +NOTE: This method is called from a global queue in order to not to block the main thread.

+
+ + + +
- (UIImage *)imageManager:(SDWebImageManager *)imageManager transformDownloadedImage:(UIImage *)image withURL:(NSURL *)imageURL
+ + + +
+

Parameters

+ +
+
imageManager
+

The current SDWebImageManager

+
+ +
+
image
+

The image to transform

+
+ +
+
imageURL
+

The url of the image to transform

+
+ +
+ + + +
+

Return Value

+

The transformed image object.

+
+ + + + + +
+

Discussion

+

Allows to transform the image immediately after it has been downloaded and just before to cache it on disk and memory. +NOTE: This method is called from a global queue in order to not to block the main thread.

+
+ + + + + + + +
+

Declared In

+ SDWebImageManager.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Protocols/SDWebImageOperation.html b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Protocols/SDWebImageOperation.html new file mode 100644 index 0000000..3f89bbb --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/Protocols/SDWebImageOperation.html @@ -0,0 +1,268 @@ + + + + + SDWebImageOperation Protocol Reference + + + + + + + +
+ + + + +
+ +
+
+ + + +
+ +
+ + + + + + + +
Conforms toNSObject
Declared inSDWebImageOperation.h
+ + + + + + +
+ +

Tasks

+ + + + + + + +
+ + + + + + + + + +
+ +

Instance Methods

+ +
+ +

cancel

+ + + +
- (void)cancel
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/css/styles.css b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/css/styles.css new file mode 100755 index 0000000..bf946c0 --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/css/styles.css @@ -0,0 +1,584 @@ +body { + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + font-size: 13px; +} + +code { + font-family: Courier, Consolas, monospace; + font-size: 13px; + color: #666; +} + +pre { + font-family: Courier, Consolas, monospace; + font-size: 13px; + line-height: 18px; + tab-interval: 0.5em; + border: 1px solid #C7CFD5; + background-color: #F1F5F9; + color: #666; + padding: 0.3em 1em; +} + +ul { + list-style-type: square; +} + +li { + margin-bottom: 10px; +} + +a, a code { + text-decoration: none; + color: #36C; +} + +a:hover, a:hover code { + text-decoration: underline; + color: #36C; +} + +h2 { + border-bottom: 1px solid #8391A8; + color: #3C4C6C; + font-size: 187%; + font-weight: normal; + margin-top: 1.75em; + padding-bottom: 2px; +} + +table { + margin-bottom: 4em; + border-collapse:collapse; + vertical-align: middle; +} + +td { + border: 1px solid #9BB3CD; + padding: .667em; + font-size: 100%; +} + +th { + border: 1px solid #9BB3CD; + padding: .3em .667em .3em .667em; + background: #93A5BB; + font-size: 103%; + font-weight: bold; + color: white; + text-align: left; +} + +/* @group Common page elements */ + +#top_header { + height: 91px; + left: 0; + min-width: 598px; + position: absolute; + right: 0; + top: 0; + z-index: 900; +} + +#footer { + clear: both; + padding-top: 20px; + text-align: center; +} + +#contents, #overview_contents { + -webkit-overflow-scrolling: touch; + border-top: 1px solid #2B334F; + position: absolute; + top: 91px; + left: 0; + right: 0; + bottom: 0; + overflow-x: hidden; + overflow-y: auto; + padding-left: 2em; + padding-right: 2em; + padding-top: 1em; + min-width: 550px; +} + +#contents.isShowingTOC { + left: 230px; + min-width: 320px; +} + +.copyright { + font-size: 12px; +} + +.generator { + font-size: 11px; +} + +.main-navigation ul li { + display: inline; + margin-left: 15px; + list-style: none; +} + +.navigation-top { + clear: both; + float: right; +} + +.navigation-bottom { + clear: both; + float: right; + margin-top: 20px; + margin-bottom: -10px; +} + +.open > .disclosure { + background-image: url("../img/disclosure_open.png"); +} + +.disclosure { + background: url("../img/disclosure.png") no-repeat scroll 0 0; +} + +.disclosure, .nodisclosure { + display: inline-block; + height: 8px; + margin-right: 5px; + position: relative; + width: 9px; +} + +/* @end */ + +/* @group Header */ + +#top_header #library { + background: url("../img/library_background.png") repeat-x 0 0 #485E78; + background-color: #ccc; + height: 35px; + font-size: 115%; +} + +#top_header #library #libraryTitle { + color: #FFFFFF; + margin-left: 15px; + text-shadow: 0 -1px 0 #485E78; + top: 8px; + position: absolute; +} + +#top_header #library #developerHome { + color: #92979E; + right: 15px; + top: 8px; + position: absolute; +} + +#top_header #library a:hover { + text-decoration: none; +} + +#top_header #title { + background: url("../img/title_background.png") repeat-x 0 0 #8A98A9; + border-bottom: 1px solid #B6B6B6; + height: 25px; + overflow: hidden; +} + +#top_header h1 { + font-size: 115%; + font-weight: normal; + margin: 0; + padding: 3px 0 2px; + text-align: center; + text-shadow: 0 1px 0 #D5D5D5; + white-space: nowrap; +} + +#headerButtons { + background-color: #D8D8D8; + background-image: url("../img/button_bar_background.png"); + border-bottom: 1px solid #EDEDED; + border-top: 1px solid #2B334F; + font-size: 8pt; + height: 28px; + left: 0; + list-style: none outside none; + margin: 0; + overflow: hidden; + padding: 0; + position: absolute; + right: 0; + top: 61px; +} + +#headerButtons li { + background-repeat: no-repeat; + display: inline; + margin-top: 0; + margin-bottom: 0; + padding: 0; +} + +#toc_button button { + border-color: #ACACAC; + border-style: none solid none none; + border-width: 0 1px 0 0; + height: 28px; + margin: 0; + padding-left: 30px; + text-align: left; + width: 230px; +} + +li#jumpto_button { + left: 230px; + margin-left: 0; + position: absolute; +} + +li#jumpto_button select { + height: 22px; + margin: 5px 2px 0 10px; + max-width: 300px; +} + +/* @end */ + +/* @group Table of contents */ + +#tocContainer.isShowingTOC { + border-right: 1px solid #ACACAC; + display: block; + overflow-x: hidden; + overflow-y: auto; + padding: 0; +} + +#tocContainer { + background-color: #E4EBF7; + border-top: 1px solid #2B334F; + bottom: 0; + display: none; + left: 0; + overflow: hidden; + position: absolute; + top: 91px; + width: 229px; +} + +#tocContainer > ul#toc { + font-size: 11px; + margin: 0; + padding: 12px 0 18px; + width: 209px; + -moz-user-select: none; + -webkit-user-select: none; + user-select: none; +} + +#tocContainer > ul#toc > li { + margin: 0; + padding: 0 0 7px 30px; + text-indent: -15px; +} + +#tocContainer > ul#toc > li > .sectionName a { + color: #000000; + font-weight: bold; +} + +#tocContainer > ul#toc > li > .sectionName a:hover { + text-decoration: none; +} + +#tocContainer > ul#toc li.children > ul { + display: none; + height: 0; +} + +#tocContainer > ul#toc > li > ul { + margin: 0; + padding: 0; +} + +#tocContainer > ul#toc > li > ul, ul#toc > li > ul > li { + margin-left: 0; + margin-bottom: 0; + padding-left: 15px; +} + +#tocContainer > ul#toc > li ul { + list-style: none; + margin-right: 0; + padding-right: 0; +} + +#tocContainer > ul#toc li.children.open > ul { + display: block; + height: auto; + margin-left: -15px; + padding-left: 0; +} + +#tocContainer > ul#toc > li > ul, ul#toc > li > ul > li { + margin-left: 0; + padding-left: 15px; +} + +#tocContainer li ul li { + margin-top: 0.583em; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +#tocContainer li ul li span.sectionName { + white-space: normal; +} + +#tocContainer > ul#toc > li > ul > li > .sectionName a { + font-weight: bold; +} + +#tocContainer > ul#toc > li > ul a { + color: #4F4F4F; +} + +/* @end */ + +/* @group Index formatting */ + +.index-title { + font-size: 13px; + font-weight: normal; +} + +.index-column { + float: left; + width: 30%; + min-width: 200px; + font-size: 11px; +} + +.index-column ul { + margin: 8px 0 0 0; + padding: 0; + list-style: none; +} + +.index-column ul li { + margin: 0 0 3px 0; + padding: 0; +} + +.hierarchy-column { + min-width: 400px; +} + +.hierarchy-column ul { + margin: 3px 0 0 15px; +} + +.hierarchy-column ul li { + list-style-type: square; +} + +/* @end */ + +/* @group Common formatting elements */ + +.title { + font-weight: normal; + font-size: 215%; + margin-top:0; +} + +.subtitle { + font-weight: normal; + font-size: 180%; + color: #3C4C6C; + border-bottom: 1px solid #5088C5; +} + +.subsubtitle { + font-weight: normal; + font-size: 145%; + height: 0.7em; +} + +.note { + border: 1px solid #5088C5; + background-color: white; + margin: 1.667em 0 1.75em 0; + padding: 0 .667em .083em .750em; +} + +.warning { + border: 1px solid #5088C5; + background-color: #F0F3F7; + margin-bottom: 0.5em; + padding: 0.3em 0.8em; +} + +.bug { + border: 1px solid #000; + background-color: #ffffcc; + margin-bottom: 0.5em; + padding: 0.3em 0.8em; +} + +.deprecated { + color: #F60425; +} + +/* @end */ + +/* @group Common layout */ + +.section { + margin-top: 3em; +} + +/* @end */ + +/* @group Object specification section */ + +.section-specification { + margin-left: 2.5em; + margin-right: 2.5em; + font-size: 12px; +} + +.section-specification table { + margin-bottom: 0em; + border-top: 1px solid #d6e0e5; +} + +.section-specification td { + vertical-align: top; + border-bottom: 1px solid #d6e0e5; + border-left-width: 0px; + border-right-width: 0px; + border-top-width: 0px; + padding: .6em; +} + +.section-specification .specification-title { + font-weight: bold; +} + +/* @end */ + +/* @group Tasks section */ + +.task-list { + list-style-type: none; + padding-left: 0px; +} + +.task-list li { + margin-bottom: 3px; +} + +.task-item-suffix { + color: #996; + font-size: 12px; + font-style: italic; + margin-left: 0.5em; +} + +span.tooltip span.tooltip { + font-size: 1.0em; + display: none; + padding: 0.3em; + border: 1px solid #aaa; + background-color: #fdfec8; + color: #000; + text-align: left; +} + +span.tooltip:hover span.tooltip { + display: block; + position: absolute; + margin-left: 2em; +} + +/* @end */ + +/* @group Method section */ + +.section-method { + margin-top: 2.3em; +} + +.method-title { + margin-bottom: 1.5em; +} + +.method-subtitle { + margin-top: 0.7em; + margin-bottom: 0.2em; +} + +.method-subsection p { + margin-top: 0.4em; + margin-bottom: 0.8em; +} + +.method-declaration { + margin-top:1.182em; + margin-bottom:.909em; +} + +.method-declaration code { + font:14px Courier, Consolas, monospace; + color:#000; +} + +.declaration { + color: #000; +} + +.argument-def { + margin-top: 0.3em; + margin-bottom: 0.3em; +} + +.argument-def dd { + margin-left: 1.25em; +} + +.see-also-section ul { + list-style-type: none; + padding-left: 0px; + margin-top: 0; +} + +.see-also-section li { + margin-bottom: 3px; +} + +.declared-in-ref { + color: #666; +} + +#tocContainer.hideInXcode { + display: none; + border: 0px solid black; +} + +#top_header.hideInXcode { + display: none; +} + +#contents.hideInXcode { + border: 0px solid black; + top: 0px; + left: 0px; +} + +/* @end */ + diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/css/stylesPrint.css b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/css/stylesPrint.css new file mode 100644 index 0000000..dc54cd2 --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/css/stylesPrint.css @@ -0,0 +1,22 @@ + +header { + display: none; +} + +div.main-navigation, div.navigation-top { + display: none; +} + +div#overview_contents, div#contents.isShowingTOC, div#contents { + overflow: visible; + position: relative; + top: 0px; + border: none; + left: 0; +} +#tocContainer.isShowingTOC { + display: none; +} +nav { + display: none; +} \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/hierarchy.html b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/hierarchy.html new file mode 100644 index 0000000..1354438 --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/hierarchy.html @@ -0,0 +1,111 @@ + + + + + SDWebImage 3.2 Hierarchy + + + + + +
+ + + + +
+
+
+ + +
+ +
+

Class Hierarchy

+ + + +
+ + + +
+ +

Protocol References

+ + + +

Category References

+ + +
+ +
+ + +
+
+ + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/img/button_bar_background.png b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/img/button_bar_background.png new file mode 100644 index 0000000000000000000000000000000000000000..d2cd0d89b4aaf674e11b9d07c337658b80f513f0 GIT binary patch literal 114 zcmeAS@N?(olHy`uVBq!ia0vp^Oh7Ed0V0oZ{G0)#EInNuLpWyk_Ih$LDDW`5zx;0> zbE|3tyE4bTHXRjZW5(552~7G+e`N0Z-DvjPKTlVwZ|Yi;-OG-~Jd|~L#{1t;6=(>9 Mr>mdKI;Vst0BJHJrvLx| literal 0 HcmV?d00001 diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/img/disclosure.png b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/img/disclosure.png new file mode 100644 index 0000000000000000000000000000000000000000..147198f01cd74b92edc0adb2b5338348295c7b15 GIT binary patch literal 206 zcmeAS@N?(olHy`uVBq!ia0vp^oIuRM!3HF?&tBaM5-9M9EM{Qf76xHPhFNnYfPxL4 zE{-7*lF5Jm|F>sWJirw6;K`E|{*XH#o}ZuJbhw>A-sSoc7U6`Xq@sl6;|q0<_9hQ|NG1A>6eh0ICDew z_jmmUg*z7Qum7*d5OsA!`TKkA2A&dUJ$wWh7{qk7jk7ftxdPq7;OXk;vd$@?2>_zn BN_PMN literal 0 HcmV?d00001 diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/img/disclosure_open.png b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/img/disclosure_open.png new file mode 100644 index 0000000000000000000000000000000000000000..ea3842bd8d511a158319049e760d088e10621c7c GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0vp^oIuRM!3HF?&tBaM5-9M9EM{Qf76xHPhFNnYfP%H2 zE{-7*lF5Jm|F>_RJbAJ$v)G3G`}>*|62$}6a^wj^(%}R5_t%Rv+)QxwQE*() z#3I1U{QuwI-v>^eieh-&Ec*8D?(d2r>OM7x-re18f5;-iRe{e#{RE3b-GM`gj2M?O y_%zG#9p>ZX`|2RW|M+l*n?SQbLv*{pBExkP$C{82?k9i_VeoYIb6Mw<&;$VN8AieY literal 0 HcmV?d00001 diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/img/library_background.png b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/img/library_background.png new file mode 100644 index 0000000000000000000000000000000000000000..8fa6d45702f3e137fed91bf73ce34efe974ce177 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!Qj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS>Jikv)M978H@^>iQPJz&7YBzQTs>)geM*}`vBPHpFZa=FoR z-t-AGB>jT+JvmdK II;Vst0B&tN?f?J) literal 0 HcmV?d00001 diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/img/title_background.png b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Documents/img/title_background.png new file mode 100644 index 0000000000000000000000000000000000000000..9001dac253eb2579bc8ebdeac3d0061bf11256cf GIT binary patch literal 109 zcmeAS@N?(olHy`uVBq!ia0vp^j6f{K!3HGDSj;X0DHBf@#}JO_WQ*!=Z|awQx1T9F z + + + + SDWebImage 3.2 Reference + + + + + +
+ + + + +
+
+
+ + +
+ +
+ + +

Web Image

+ +

This library provides a category for UIImageVIew with support for remote images coming from the web.

+ +

It provides:

+ +
    +
  • An UIImageView category adding web image and cache management to the Cocoa Touch framework
  • +
  • An asynchronous image downloader
  • +
  • An asynchronous memory + disk image caching with automatic cache expiration handling
  • +
  • A background image decompression
  • +
  • A guarantee that the same URL won’t be downloaded several times
  • +
  • A guarantee that bogus URLs won’t be retried again and again
  • +
  • A guarantee that main thread will never be blocked
  • +
  • Performances!
  • +
  • Use GCD and ARC
  • +
+ + +

NOTE: The version 3.0 of SDWebImage isn’t fully backward compatible with 2.0 and requires iOS 5.0 +minimum deployement version. If you need iOS < 5.0 support, please use the last 2.0 version.

+ +

How is SDWebImage better than X?

+ +

Who Use It

+ +

Find out who use SDWebImage and add your app to the list.

+ +

How To Use

+ +

API documentation is available at http://hackemist.com/SDWebImage/doc/

+ +

Using UIImageView+WebCache category with UITableView

+ +

Just #import the UIImageView+WebCache.h header, and call the setImageWithURL:placeholderImage: +method from the tableView:cellForRowAtIndexPath: UITableViewDataSource method. Everything will be +handled for you, from async downloads to caching management.

+ +

```objective-c

+ +

import <SDWebImage/UIImageView+WebCache.h>

+ +

+ +
    +
  • (UITableViewCell )tableView:(UITableView )tableView cellForRowAtIndexPath:(NSIndexPath )indexPath +{ + static NSString MyIdentifier = @“MyIdentifier”;

    + +

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];

    + +

    if (cell == nil) + { + cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault + reuseIdentifier:MyIdentifier] autorelease]; + }

    + +

    // Here we use the new provided setImageWithURL: method to load the web image + [cell.imageView setImageWithURL:[NSURL URLWithString:@“http://www.domain.com/path/to/image.jpg”] + placeholderImage:[UIImage imageNamed:@“placeholder.png”]];

    + +

    cell.textLabel.text = @“My Text”; + return cell; +} +```

  • +
+ + +

Using blocks

+ +

With blocks, you can be notified about the image download progress and whenever the image retrival +has completed with success or not:

+ +

```objective-c +// Here we use the new provided setImageWithURL: method to load the web image +[cell.imageView setImageWithURL:[NSURL URLWithString:@“http://www.domain.com/path/to/image.jpg”]

+ +
           placeholderImage:[UIImage imageNamed:@"placeholder.png"]
+                  completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType) {... completion code here ...}];
+
+ +

```

+ +

Note: neither your success nor failure block will be call if your image request is canceled before completion.

+ +

Using SDWebImageManager

+ +

The SDWebImageManager is the class behind the UIImageView+WebCache category. It ties the +asynchronous downloader with the image cache store. You can use this class directly to benefit +from web image downloading with caching in another context than a UIView (ie: with Cocoa).

+ +

Here is a simple example of how to use SDWebImageManager:

+ +

```objective-c +SDWebImageManager *manager = [SDWebImageManager sharedManager]; +[manager downloadWithURL:imageURL

+ +
             options:0
+             progress:^(NSUInteger receivedSize, long long expectedSize)
+             {
+                 // progression tracking code
+             }
+             completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType)
+             {
+                 if (image)
+                 {
+                     // do something with image
+                 }
+             }];
+
+ +

```

+ +

Using Asynchronous Image Downloader Independently

+ +

It’s also possible to use the async image downloader independently:

+ +

```objective-c +[SDWebImageDownloader.sharedDownloader downloadImageWithURL:imageURL

+ +
                                                options:0
+                                               progress:^(NSUInteger receivedSize, long long expectedSize)
+                                               {
+                                                   // progression tracking code
+                                               }
+                                               completed:^(UIImage *image, NSError *error, BOOL finished)
+                                               {
+                                                   if (image && finished)
+                                                   {
+                                                       // do something with image
+                                                   }
+                                               }];
+
+ +

```

+ +

Using Asynchronous Image Caching Independently

+ +

It is also possible to use the aync based image cache store independently. SDImageCache +maintains a memory cache and an optional disk cache. Disk cache write operations are performed +asynchronous so it doesn’t add unnecessary latency to the UI.

+ +

The SDImageCache class provides a singleton instance for convenience but you can create your own +instance if you want to create separated cache namespace.

+ +

To lookup the cache, you use the imageForKey: method. If the method returns nil, it means the cache +doesn’t currently own the image. You are thus responsible for generating and caching it. The cache +key is an application unique identifier for the image to cache. It is generally the absolute URL of +the image.

+ +

```objective-c +SDImageCache imageCache = [SDImageCache.alloc initWithNamespace:@“myNamespace”]; +[imageCache queryDiskCacheForKey:myCacheKey done:^(UIImage image) +{

+ +
// image is not nil if image was found
+
+ +

}]; +```

+ +

By default SDImageCache will lookup the disk cache if an image can’t be found in the memory cache. +You can prevent this from happening by calling the alternative method imageFromMemoryCacheForKey:.

+ +

To store an image into the cache, you use the storeImage:forKey: method:

+ +

objective-c +[[SDImageCache sharedImageCache] storeImage:myImage forKey:myCacheKey]; +

+ +

By default, the image will be stored in memory cache as well as on disk cache (asynchronously). If +you want only the memory cache, use the alternative method storeImage:forKey:toDisk: with a negative +third argument.

+ +

Using cache key filter

+ +

Sometime, you may not want to use the image URL as cache key because part of the URL is dynamic +(i.e.: for access control purpose). SDWebImageManager provides a way to set a cache key filter that +takes the NSURL as input, and output a cache key NSString.

+ +

The following example sets a filter in the application delegate that will remove any query-string from +the URL before to use it as a cache key:

+ +

```objective-c +– (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions +{

+ +
SDWebImageManager.sharedManager.cacheKeyFilter:^(NSURL *url)
+{
+    url = [[[NSURL alloc] initWithScheme:url.scheme host:url.host path:url.path] autorelease];
+    return [url absoluteString];
+};
+
+// Your app init code...
+return YES;
+
+ +

} +```

+ +

Common Problems

+ +

Using dynamic image size with UITableViewCell

+ +

UITableView determins the size of the image by the first image set for a cell. If your remote images +don’t have the same size as your placeholder image, you may experience strange anamorphic scaling issue. +The following article gives a way to workaround this issue:

+ +

http://www.wrichards.com/blog/2011/11/sdwebimage-fixed-width-cell-images/

+ +

Installation

+ +

There are two ways to use this in your project: copy all the files into your project, or import the project as a static library.

+ +

Add the SDWebImage project to your project

+ +
    +
  • Download and unzip the last version of the framework from the download page
  • +
  • Right-click on the project navigator and select “Add Files to "Your Project”:
  • +
  • In the dialog, select SDWebImage.framework:
  • +
  • Check the “Copy items into destination group’s folder (if needed)” checkbox
  • +
+ + +

Add dependencies

+ +
    +
  • In you application project app’s target settings, find the “Build Phases” section and open the “Link Binary With Libraries” block:
  • +
  • Click the “+” button again and select the “ImageIO.framework”, this is needed by the progressive download feature:
  • +
+ + +

Add Linker Flag

+ +

Open the “Build Settings” tab, in the “Linking” section, locate the “Other Linker Flags” setting and add the “-ObjC” flag:

+ +

Other Linker Flags_other_linker_flags.jpg)

+ +

Import headers in your source files

+ +

In the source files where you need to use the library, import the header file:

+ +

```objective-c

+ +

import <SDWebImage/UIImageView+WebCache.h>

+ +

```

+ +

Build Project

+ +

At this point your workspace should build without error. If you are having problem, post to the Issue and the +community can help you solve it.

+ +

Future Enhancements

+ +
    +
  • LRU memory cache cleanup instead of reset on memory warning
  • +
+ + +

Licenses

+ +

All source code is licensed under the MIT License.

+ + +
+ + + + + + + + + +
+ +

Protocol References

+ + + +

Category References

+ + +
+ +
+ + +
+
+ + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Nodes.xml b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Nodes.xml new file mode 100644 index 0000000..4410ba5 --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Nodes.xml @@ -0,0 +1,100 @@ + + + + + SDWebImage 3.2 + index.html + + + + + Classes + index.html + + + + + + + + + + + + + Categories + index.html + + + + + + + + + + + + Protocols + index.html + + + + + + + + + + + + + + SDImageCache + Classes/SDImageCache.html + + + SDWebImageDownloader + Classes/SDWebImageDownloader.html + + + SDWebImageDownloaderOperation + Classes/SDWebImageDownloaderOperation.html + + + SDWebImageManager + Classes/SDWebImageManager.html + + + SDWebImagePrefetcher + Classes/SDWebImagePrefetcher.html + + + + MKAnnotationView(WebCache) + Categories/MKAnnotationView+WebCache.html + + + UIButton(WebCache) + Categories/UIButton+WebCache.html + + + UIImage(ForceDecode) + Categories/UIImage+ForceDecode.html + + + UIImageView(WebCache) + Categories/UIImageView+WebCache.html + + + + SDWebImageManagerDelegate + Protocols/SDWebImageManagerDelegate.html + + + SDWebImageOperation + Protocols/SDWebImageOperation.html + + + + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens1.xml b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens1.xml new file mode 100644 index 0000000..a51e09f --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens1.xml @@ -0,0 +1,271 @@ + + + + + + //apple_ref/occ/cl/SDImageCache + SDImageCache maintains a memory cache and an optional disk cache. Disk cache write operations are performed +asynchronous so it doesn’t add unnecessary latency to the UI. + SDImageCache.h + + + + + + + //apple_ref/occ/instm/SDImageCache/setMaxCacheAge: + The maximum length of time to keep an image in the cache, in seconds + SDImageCache.h + + @property (assign, nonatomic) NSInteger maxCacheAge + + + //api/name/maxCacheAge + + + + //apple_ref/occ/instp/SDImageCache/maxCacheAge + The maximum length of time to keep an image in the cache, in seconds + SDImageCache.h + + @property (assign, nonatomic) NSInteger maxCacheAge + + + //api/name/maxCacheAge + + + + //apple_ref/occ/clm/SDImageCache/sharedImageCache + Returns global shared cache instance + SDImageCache.h + + + (SDImageCache *)sharedImageCache + + SDImageCache global instance + //api/name/sharedImageCache + + + + //apple_ref/occ/instm/SDImageCache/initWithNamespace: + Init a new cache store with a specific namespace + SDImageCache.h + + - (id)initWithNamespace:(NSString *)ns + + + ns + The namespace to use for this cache store + + + + //api/name/initWithNamespace: + + + + //apple_ref/occ/instm/SDImageCache/storeImage:forKey: + Store an image into memory and disk cache at the given key. + SDImageCache.h + + - (void)storeImage:(UIImage *)image forKey:(NSString *)key + + + image + The image to store + + key + The unique image cache key, usually it's image absolute URL + + + + //api/name/storeImage:forKey: + + + + //apple_ref/occ/instm/SDImageCache/storeImage:forKey:toDisk: + Store an image into memory and optionally disk cache at the given key. + SDImageCache.h + + - (void)storeImage:(UIImage *)image forKey:(NSString *)key toDisk:(BOOL)toDisk + + + image + The image to store + + key + The unique image cache key, usually it's image absolute URL + + toDisk + Store the image to disk cache if YES + + + + //api/name/storeImage:forKey:toDisk: + + + + //apple_ref/occ/instm/SDImageCache/storeImage:imageData:forKey:toDisk: + Store an image into memory and optionally disk cache at the given key. + SDImageCache.h + + - (void)storeImage:(UIImage *)image imageData:(NSData *)data forKey:(NSString *)key toDisk:(BOOL)toDisk + + + image + The image to store + + data + The image data as returned by the server, this representation will be used for disk storage +instead of converting the given image object into a storable/compressed image format in order +to save quality and CPU + + key + The unique image cache key, usually it's image absolute URL + + toDisk + Store the image to disk cache if YES + + + + //api/name/storeImage:imageData:forKey:toDisk: + + + + //apple_ref/occ/instm/SDImageCache/queryDiskCacheForKey:done: + Query the disk cache asynchronousely. + SDImageCache.h + + - (void)queryDiskCacheForKey:(NSString *)key done:(void ( ^ ) ( UIImage *image , SDImageCacheType cacheType ))doneBlock + + + key + The unique key used to store the wanted image + + + + //api/name/queryDiskCacheForKey:done: + + + + //apple_ref/occ/instm/SDImageCache/imageFromMemoryCacheForKey: + Query the memory cache. + SDImageCache.h + + - (UIImage *)imageFromMemoryCacheForKey:(NSString *)key + + + key + The unique key used to store the wanted image + + + + //api/name/imageFromMemoryCacheForKey: + + + + //apple_ref/occ/instm/SDImageCache/imageFromDiskCacheForKey: + Query the disk cache synchronousely. + SDImageCache.h + + - (UIImage *)imageFromDiskCacheForKey:(NSString *)key + + + key + The unique key used to store the wanted image + + + + //api/name/imageFromDiskCacheForKey: + + + + //apple_ref/occ/instm/SDImageCache/removeImageForKey: + Remove the image from memory and disk cache synchronousely + SDImageCache.h + + - (void)removeImageForKey:(NSString *)key + + + key + The unique image cache key + + + + //api/name/removeImageForKey: + + + + //apple_ref/occ/instm/SDImageCache/removeImageForKey:fromDisk: + Remove the image from memory and optionaly disk cache synchronousely + SDImageCache.h + + - (void)removeImageForKey:(NSString *)key fromDisk:(BOOL)fromDisk + + + key + The unique image cache key + + fromDisk + Also remove cache entry from disk if YES + + + + //api/name/removeImageForKey:fromDisk: + + + + //apple_ref/occ/instm/SDImageCache/clearMemory + Clear all memory cached images + SDImageCache.h + + - (void)clearMemory + + + //api/name/clearMemory + + + + //apple_ref/occ/instm/SDImageCache/clearDisk + Clear all disk cached images + SDImageCache.h + + - (void)clearDisk + + + //api/name/clearDisk + + + + //apple_ref/occ/instm/SDImageCache/cleanDisk + Remove all expired cached image from disk + SDImageCache.h + + - (void)cleanDisk + + + //api/name/cleanDisk + + + + //apple_ref/occ/instm/SDImageCache/getSize + Get the size used by the disk cache + SDImageCache.h + + - (int)getSize + + + //api/name/getSize + + + + //apple_ref/occ/instm/SDImageCache/getDiskCount + Get the number of images in the disk cache + SDImageCache.h + + - (int)getDiskCount + + + //api/name/getDiskCount + + + + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens10.xml b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens10.xml new file mode 100644 index 0000000..3d9cbe0 --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens10.xml @@ -0,0 +1,60 @@ + + + + + + //apple_ref/occ/intf/SDWebImageManagerDelegate + Even if the image is cached, respect the HTTP response cache control, and refresh the image from remote location if needed. +The disk caching will be handled by NSURLCache instead of SDWebImage leading to slight performance degradation. +This option helps deal with images changing behind the same request URL, e.g. Facebook graph api profile pics. +If a cached image is refreshed, the completion block is called once with the cached image and again with the final image. + SDWebImageManager.h + + + + + + + //apple_ref/occ/intfm/SDWebImageManagerDelegate/imageManager:shouldDownloadImageForURL: + Controls which image should be downloaded when the image is not found in the cache. + SDWebImageManager.h + + - (BOOL)imageManager:(SDWebImageManager *)imageManager shouldDownloadImageForURL:(NSURL *)imageURL + + + imageManager + The current SDWebImageManager + + imageURL + The url of the image to be downloaded + + + Return NO to prevent the downloading of the image on cache misses. If not implemented, YES is implied. + //api/name/imageManager:shouldDownloadImageForURL: + + + + //apple_ref/occ/intfm/SDWebImageManagerDelegate/imageManager:transformDownloadedImage:withURL: + Allows to transform the image immediately after it has been downloaded and just before to cache it on disk and memory. +NOTE: This method is called from a global queue in order to not to block the main thread. + SDWebImageManager.h + + - (UIImage *)imageManager:(SDWebImageManager *)imageManager transformDownloadedImage:(UIImage *)image withURL:(NSURL *)imageURL + + + imageManager + The current SDWebImageManager + + image + The image to transform + + imageURL + The url of the image to transform + + + The transformed image object. + //api/name/imageManager:transformDownloadedImage:withURL: + + + + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens11.xml b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens11.xml new file mode 100644 index 0000000..b696b88 --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens11.xml @@ -0,0 +1,26 @@ + + + + + + //apple_ref/occ/intf/SDWebImageOperation + + SDWebImageOperation.h + + + + + + + //apple_ref/occ/intfm/SDWebImageOperation/cancel + + SDWebImageOperation.h + + - (void)cancel + + + //api/name/cancel + + + + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens2.xml b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens2.xml new file mode 100644 index 0000000..4583b59 --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens2.xml @@ -0,0 +1,132 @@ + + + + + + //apple_ref/occ/cl/SDWebImageDownloader + Asynchronous downloader dedicated and optimized for image loading. + SDWebImageDownloader.h + + + + + + + //apple_ref/occ/instm/SDWebImageDownloader/setMaxConcurrentDownloads: + + SDWebImageDownloader.h + + @property (assign, nonatomic) NSInteger maxConcurrentDownloads + + + //api/name/maxConcurrentDownloads + + + + //apple_ref/occ/instp/SDWebImageDownloader/maxConcurrentDownloads + + SDWebImageDownloader.h + + @property (assign, nonatomic) NSInteger maxConcurrentDownloads + + + //api/name/maxConcurrentDownloads + + + + //apple_ref/occ/instm/SDWebImageDownloader/setQueueMode: + Changes download operations unqueue mode. Default value is SDWebImageDownloaderFILOQueueMode. + SDWebImageDownloader.h + + @property (assign, nonatomic) SDWebImageDownloaderQueueMode queueMode + + + //api/name/queueMode + + + + //apple_ref/occ/instp/SDWebImageDownloader/queueMode + Changes download operations unqueue mode. Default value is SDWebImageDownloaderFILOQueueMode. + SDWebImageDownloader.h + + @property (assign, nonatomic) SDWebImageDownloaderQueueMode queueMode + + + //api/name/queueMode + + + + //apple_ref/occ/clm/SDWebImageDownloader/sharedDownloader + + SDWebImageDownloader.h + + + (SDWebImageDownloader *)sharedDownloader + + + //api/name/sharedDownloader + + + + //apple_ref/occ/instm/SDWebImageDownloader/setValue:forHTTPHeaderField: + Set a value for a HTTP header to be appended to each download HTTP request. + SDWebImageDownloader.h + + - (void)setValue:(NSString *)value forHTTPHeaderField:(NSString *)field + + + value + The value for the header field. Use nil value to remove the header. + + field + The name of the header field to set. + + + + //api/name/setValue:forHTTPHeaderField: + + + + //apple_ref/occ/instm/SDWebImageDownloader/valueForHTTPHeaderField: + Returns the value of the specified HTTP header field. + SDWebImageDownloader.h + + - (NSString *)valueForHTTPHeaderField:(NSString *)field + + The value associated with the header field field, or nil if there is no corresponding header field. + //api/name/valueForHTTPHeaderField: + + + + //apple_ref/occ/instm/SDWebImageDownloader/downloadImageWithURL:options:progress:completed: + Creates a SDWebImageDownloader async downloader instance with a given URL + SDWebImageDownloader.h + + - (id<SDWebImageOperation>)downloadImageWithURL:(NSURL *)url options:(SDWebImageDownloaderOptions)options progress:(SDWebImageDownloaderProgressBlock)progressBlock completed:(SDWebImageDownloaderCompletedBlock)completedBlock + + + url + The URL to the image to download + + options + The options to be used for this download + + completed + A block called once the download is completed. +If the download succeeded, the image parameter is set, in case of error, +error parameter is set with the error. The last parameter is always YES +if SDWebImageDownloaderProgressiveDownload isn't use. With the +SDWebImageDownloaderProgressiveDownload option, this block is called +repeatedly with the partial image object and the finished argument set to NO +before to be called a last time with the full image and finished argument +set to YES. In case of error, the finished argument is always YES. + + progress + A block called repeatedly while the image is downloading + + + A cancellable SDWebImageOperation + //api/name/downloadImageWithURL:options:progress:completed: + + + + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens3.xml b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens3.xml new file mode 100644 index 0000000..977b116 --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens3.xml @@ -0,0 +1,70 @@ + + + + + + //apple_ref/occ/cl/SDWebImageDownloaderOperation + + SDWebImageDownloaderOperation.h + + + + + + + //apple_ref/occ/instm/SDWebImageDownloaderOperation/setRequest: + + SDWebImageDownloaderOperation.h + + @property (strong, nonatomic, readonly) NSURLRequest *request + + + //api/name/request + + + + //apple_ref/occ/instp/SDWebImageDownloaderOperation/request + + SDWebImageDownloaderOperation.h + + @property (strong, nonatomic, readonly) NSURLRequest *request + + + //api/name/request + + + + //apple_ref/occ/instm/SDWebImageDownloaderOperation/setOptions: + + SDWebImageDownloaderOperation.h + + @property (assign, nonatomic, readonly) SDWebImageDownloaderOptions options + + + //api/name/options + + + + //apple_ref/occ/instp/SDWebImageDownloaderOperation/options + + SDWebImageDownloaderOperation.h + + @property (assign, nonatomic, readonly) SDWebImageDownloaderOptions options + + + //api/name/options + + + + //apple_ref/occ/instm/SDWebImageDownloaderOperation/initWithRequest:queue:options:progress:completed:cancelled: + + SDWebImageDownloaderOperation.h + + - (id)initWithRequest:(NSURLRequest *)request queue:(dispatch_queue_t)queue options:(SDWebImageDownloaderOptions)options progress:(SDWebImageDownloaderProgressBlock)progressBlock completed:(SDWebImageDownloaderCompletedBlock)completedBlock cancelled:(void ( ^ ) ( ))cancelBlock + + + //api/name/initWithRequest:queue:options:progress:completed:cancelled: + + + + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens4.xml b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens4.xml new file mode 100644 index 0000000..87b2f8e --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens4.xml @@ -0,0 +1,180 @@ + + + + + + //apple_ref/occ/cl/SDWebImageManager + The SDWebImageManager is the class behind the UIImageView+WebCache category and likes. +It ties the asynchronous downloader (SDWebImageDownloader with the image cache store (SDImageCache. +You can use this class directly to benefit from web image downloading with caching in another context than +a UIView. + SDWebImageManager.h + + + + + + + //apple_ref/occ/instm/SDWebImageManager/setDelegate: + + SDWebImageManager.h + + @property (weak, nonatomic) id<SDWebImageManagerDelegate> delegate + + + //api/name/delegate + + + + //apple_ref/occ/instp/SDWebImageManager/delegate + + SDWebImageManager.h + + @property (weak, nonatomic) id<SDWebImageManagerDelegate> delegate + + + //api/name/delegate + + + + //apple_ref/occ/instm/SDWebImageManager/setImageCache: + + SDWebImageManager.h + + @property (strong, nonatomic, readonly) SDImageCache *imageCache + + + //api/name/imageCache + + + + //apple_ref/occ/instp/SDWebImageManager/imageCache + + SDWebImageManager.h + + @property (strong, nonatomic, readonly) SDImageCache *imageCache + + + //api/name/imageCache + + + + //apple_ref/occ/instm/SDWebImageManager/setImageDownloader: + + SDWebImageManager.h + + @property (strong, nonatomic, readonly) SDWebImageDownloader *imageDownloader + + + //api/name/imageDownloader + + + + //apple_ref/occ/instp/SDWebImageManager/imageDownloader + + SDWebImageManager.h + + @property (strong, nonatomic, readonly) SDWebImageDownloader *imageDownloader + + + //api/name/imageDownloader + + + + //apple_ref/occ/instm/SDWebImageManager/setCacheKeyFilter: + The cache filter is a block used each time SDWebImageManager need to convert an URL into a cache key. This can +be used to remove dynamic part of an image URL. + SDWebImageManager.h + + @property (strong) NSString *^ ) ( NSURL *url ) cacheKeyFilter + + + //api/name/cacheKeyFilter + + + + //apple_ref/occ/instp/SDWebImageManager/cacheKeyFilter + The cache filter is a block used each time SDWebImageManager need to convert an URL into a cache key. This can +be used to remove dynamic part of an image URL. + SDWebImageManager.h + + @property (strong) NSString *^ ) ( NSURL *url ) cacheKeyFilter + + + //api/name/cacheKeyFilter + + + + //apple_ref/occ/clm/SDWebImageManager/sharedManager + Returns global SDWebImageManager instance. + SDWebImageManager.h + + + (SDWebImageManager *)sharedManager + + SDWebImageManager shared instance + //api/name/sharedManager + + + + //apple_ref/occ/instm/SDWebImageManager/downloadWithURL:options:progress:completed: + Downloads the image at the given URL if not present in cache or return the cached version otherwise. + SDWebImageManager.h + + - (id<SDWebImageOperation>)downloadWithURL:(NSURL *)url options:(SDWebImageOptions)options progress:(SDWebImageDownloaderProgressBlock)progressBlock completed:(SDWebImageCompletedWithFinishedBlock)completedBlock + + + url + The URL to the image + + options + A mask to specify options to use for this request + + progressBlock + A block called while image is downloading + + completedBlock + A block called when operation has been completed. + +This block as no return value and takes the requested UIImage as first parameter. +In case of error the image parameter is nil and the second parameter may contain an NSError. + +The third parameter is a Boolean indicating if the image was retrived from the local cache +of from the network. + +The last parameter is set to NO when the SDWebImageProgressiveDownload option is used and +the image is downloading. This block is thus called repetidly with a partial image. When +image is fully downloaded, the block is called a last time with the full image and the last +parameter set to YES. + + delegate + The delegate object used to send result back + + + Returns a cancellable NSOperation + //api/name/downloadWithURL:options:progress:completed: + + + + //apple_ref/occ/instm/SDWebImageManager/cancelAll + Cancel all current opreations + SDWebImageManager.h + + - (void)cancelAll + + + //api/name/cancelAll + + + + //apple_ref/occ/instm/SDWebImageManager/isRunning + Check one or more operations running + SDWebImageManager.h + + - (BOOL)isRunning + + + //api/name/isRunning + + + + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens5.xml b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens5.xml new file mode 100644 index 0000000..4b89daa --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens5.xml @@ -0,0 +1,120 @@ + + + + + + //apple_ref/occ/cl/SDWebImagePrefetcher + Prefetch some URLs in the cache for future use. Images are downloaded in low priority. + SDWebImagePrefetcher.h + + + + + + + //apple_ref/occ/instm/SDWebImagePrefetcher/setMaxConcurrentDownloads: + Maximum number of URLs to prefetch at the same time. Defaults to 3. + SDWebImagePrefetcher.h + + @property (nonatomic, assign) NSUInteger maxConcurrentDownloads + + + //api/name/maxConcurrentDownloads + + + + //apple_ref/occ/instp/SDWebImagePrefetcher/maxConcurrentDownloads + Maximum number of URLs to prefetch at the same time. Defaults to 3. + SDWebImagePrefetcher.h + + @property (nonatomic, assign) NSUInteger maxConcurrentDownloads + + + //api/name/maxConcurrentDownloads + + + + //apple_ref/occ/instm/SDWebImagePrefetcher/setOptions: + SDWebImageOptions for prefetcher. Defaults to SDWebImageLowPriority. + SDWebImagePrefetcher.h + + @property (nonatomic, assign) SDWebImageOptions options + + + //api/name/options + + + + //apple_ref/occ/instp/SDWebImagePrefetcher/options + SDWebImageOptions for prefetcher. Defaults to SDWebImageLowPriority. + SDWebImagePrefetcher.h + + @property (nonatomic, assign) SDWebImageOptions options + + + //api/name/options + + + + //apple_ref/occ/clm/SDWebImagePrefetcher/sharedImagePrefetcher + Return the global image prefetcher instance. + SDWebImagePrefetcher.h + + + (SDWebImagePrefetcher *)sharedImagePrefetcher + + + //api/name/sharedImagePrefetcher + + + + //apple_ref/occ/instm/SDWebImagePrefetcher/prefetchURLs: + Assign list of URLs to let SDWebImagePrefetcher to queue the prefetching, +currently one image is downloaded at a time, +and skips images for failed downloads and proceed to the next image in the list + SDWebImagePrefetcher.h + + - (void)prefetchURLs:(NSArray *)urls + + + urls + list of URLs to prefetch + + + + //api/name/prefetchURLs: + + + + //apple_ref/occ/instm/SDWebImagePrefetcher/prefetchURLs:completed: + Assign list of URLs to let SDWebImagePrefetcher to queue the prefetching, +currently one image is downloaded at a time, +and skips images for failed downloads and proceed to the next image in the list + SDWebImagePrefetcher.h + + - (void)prefetchURLs:(NSArray *)urls completed:(void ( ^ ) ( NSUInteger finishedCount , NSUInteger skippedCount ))completionBlock + + + urls + list of URLs to prefetch + + completionBlock + block to be called when prefetching is completed + + + + //api/name/prefetchURLs:completed: + + + + //apple_ref/occ/instm/SDWebImagePrefetcher/cancelPrefetching + Remove and cancel queued list + SDWebImagePrefetcher.h + + - (void)cancelPrefetching + + + //api/name/cancelPrefetching + + + + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens6.xml b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens6.xml new file mode 100644 index 0000000..9f05226 --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens6.xml @@ -0,0 +1,163 @@ + + + + + + //apple_ref/occ/cat/MKAnnotationView(WebCache) + Integrates SDWebImage async downloading and caching of remote images with MKAnnotationView. + MKAnnotationView+WebCache.h + + + + + + + //apple_ref/occ/intfm/MKAnnotationView(WebCache)/setImageWithURL: + Set the imageView image with an url. + MKAnnotationView+WebCache.h + + - (void)setImageWithURL:(NSURL *)url + + + url + The url for the image. + + + + //api/name/setImageWithURL: + + + + //apple_ref/occ/intfm/MKAnnotationView(WebCache)/setImageWithURL:placeholderImage: + Set the imageView image with an url and a placeholder. + MKAnnotationView+WebCache.h + + + //apple_ref/occ/intfm/MKAnnotationView(WebCache)/setImageWithURL:placeholderImage:options: + + + + - (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder + + + url + The url for the image. + + placeholder + The image to be set initially, until the image request finishes. + + + + //api/name/setImageWithURL:placeholderImage: + + + + //apple_ref/occ/intfm/MKAnnotationView(WebCache)/setImageWithURL:placeholderImage:options: + Set the imageView image with an url, placeholder and custom options. + MKAnnotationView+WebCache.h + + - (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options + + + url + The url for the image. + + placeholder + The image to be set initially, until the image request finishes. + + options + The options to use when downloading the image. @see SDWebImageOptions for the possible values. + + + + //api/name/setImageWithURL:placeholderImage:options: + + + + //apple_ref/occ/intfm/MKAnnotationView(WebCache)/setImageWithURL:completed: + Set the imageView image with an url. + MKAnnotationView+WebCache.h + + - (void)setImageWithURL:(NSURL *)url completed:(SDWebImageCompletedBlock)completedBlock + + + url + The url for the image. + + completedBlock + A block called when operation has been completed. This block as no return value +and takes the requested UIImage as first parameter. In case of error the image parameter +is nil and the second parameter may contain an NSError. The third parameter is a Boolean +indicating if the image was retrived from the local cache of from the network. + + + + //api/name/setImageWithURL:completed: + + + + //apple_ref/occ/intfm/MKAnnotationView(WebCache)/setImageWithURL:placeholderImage:completed: + Set the imageView image with an url, placeholder. + MKAnnotationView+WebCache.h + + - (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder completed:(SDWebImageCompletedBlock)completedBlock + + + url + The url for the image. + + placeholder + The image to be set initially, until the image request finishes. + + completedBlock + A block called when operation has been completed. This block as no return value +and takes the requested UIImage as first parameter. In case of error the image parameter +is nil and the second parameter may contain an NSError. The third parameter is a Boolean +indicating if the image was retrived from the local cache of from the network. + + + + //api/name/setImageWithURL:placeholderImage:completed: + + + + //apple_ref/occ/intfm/MKAnnotationView(WebCache)/setImageWithURL:placeholderImage:options:completed: + Set the imageView image with an url, placeholder and custom options. + MKAnnotationView+WebCache.h + + - (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options completed:(SDWebImageCompletedBlock)completedBlock + + + url + The url for the image. + + placeholder + The image to be set initially, until the image request finishes. + + options + The options to use when downloading the image. @see SDWebImageOptions for the possible values. + + completedBlock + A block called when operation has been completed. This block as no return value +and takes the requested UIImage as first parameter. In case of error the image parameter +is nil and the second parameter may contain an NSError. The third parameter is a Boolean +indicating if the image was retrived from the local cache of from the network. + + + + //api/name/setImageWithURL:placeholderImage:options:completed: + + + + //apple_ref/occ/intfm/MKAnnotationView(WebCache)/cancelCurrentImageLoad + Cancel the current download + MKAnnotationView+WebCache.h + + - (void)cancelCurrentImageLoad + + + //api/name/cancelCurrentImageLoad + + + + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens7.xml b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens7.xml new file mode 100644 index 0000000..136f490 --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens7.xml @@ -0,0 +1,323 @@ + + + + + + //apple_ref/occ/cat/UIButton(WebCache) + Integrates SDWebImage async downloading and caching of remote images with UIButtonView. + UIButton+WebCache.h + + + + + + + //apple_ref/occ/intfm/UIButton(WebCache)/setImageWithURL:forState: + Set the imageView image with an url. + UIButton+WebCache.h + + - (void)setImageWithURL:(NSURL *)url forState:(UIControlState)state + + + url + The url for the image. + + state + The state that uses the specified title. The values are described in UIControlState. + + + + //api/name/setImageWithURL:forState: + + + + //apple_ref/occ/intfm/UIButton(WebCache)/setImageWithURL:forState:placeholderImage: + Set the imageView image with an url and a placeholder. + UIButton+WebCache.h + + - (void)setImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder + + + url + The url for the image. + + state + The state that uses the specified title. The values are described in UIControlState. + + placeholder + The image to be set initially, until the image request finishes. + + + + //api/name/setImageWithURL:forState:placeholderImage: + + + + //apple_ref/occ/intfm/UIButton(WebCache)/setImageWithURL:forState:placeholderImage:options: + Set the imageView image with an url, placeholder and custom options. + UIButton+WebCache.h + + - (void)setImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options + + + url + The url for the image. + + state + The state that uses the specified title. The values are described in UIControlState. + + placeholder + The image to be set initially, until the image request finishes. + + options + The options to use when downloading the image. @see SDWebImageOptions for the possible values. + + + + //api/name/setImageWithURL:forState:placeholderImage:options: + + + + //apple_ref/occ/intfm/UIButton(WebCache)/setImageWithURL:forState:completed: + Set the imageView image with an url. + UIButton+WebCache.h + + - (void)setImageWithURL:(NSURL *)url forState:(UIControlState)state completed:(SDWebImageCompletedBlock)completedBlock + + + url + The url for the image. + + state + The state that uses the specified title. The values are described in UIControlState. + + completedBlock + A block called when operation has been completed. This block as no return value +and takes the requested UIImage as first parameter. In case of error the image parameter +is nil and the second parameter may contain an NSError. The third parameter is a Boolean +indicating if the image was retrived from the local cache of from the network. + + + + //api/name/setImageWithURL:forState:completed: + + + + //apple_ref/occ/intfm/UIButton(WebCache)/setImageWithURL:forState:placeholderImage:completed: + Set the imageView image with an url, placeholder. + UIButton+WebCache.h + + - (void)setImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder completed:(SDWebImageCompletedBlock)completedBlock + + + url + The url for the image. + + state + The state that uses the specified title. The values are described in UIControlState. + + placeholder + The image to be set initially, until the image request finishes. + + completedBlock + A block called when operation has been completed. This block as no return value +and takes the requested UIImage as first parameter. In case of error the image parameter +is nil and the second parameter may contain an NSError. The third parameter is a Boolean +indicating if the image was retrived from the local cache of from the network. + + + + //api/name/setImageWithURL:forState:placeholderImage:completed: + + + + //apple_ref/occ/intfm/UIButton(WebCache)/setImageWithURL:forState:placeholderImage:options:completed: + Set the imageView image with an url, placeholder and custom options. + UIButton+WebCache.h + + - (void)setImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options completed:(SDWebImageCompletedBlock)completedBlock + + + url + The url for the image. + + state + The state that uses the specified title. The values are described in UIControlState. + + placeholder + The image to be set initially, until the image request finishes. + + options + The options to use when downloading the image. @see SDWebImageOptions for the possible values. + + completedBlock + A block called when operation has been completed. This block as no return value +and takes the requested UIImage as first parameter. In case of error the image parameter +is nil and the second parameter may contain an NSError. The third parameter is a Boolean +indicating if the image was retrived from the local cache of from the network. + + + + //api/name/setImageWithURL:forState:placeholderImage:options:completed: + + + + //apple_ref/occ/intfm/UIButton(WebCache)/setBackgroundImageWithURL:forState: + Set the backgroundImageView image with an url. + UIButton+WebCache.h + + - (void)setBackgroundImageWithURL:(NSURL *)url forState:(UIControlState)state + + + url + The url for the image. + + state + The state that uses the specified title. The values are described in UIControlState. + + + + //api/name/setBackgroundImageWithURL:forState: + + + + //apple_ref/occ/intfm/UIButton(WebCache)/setBackgroundImageWithURL:forState:placeholderImage: + Set the backgroundImageView image with an url and a placeholder. + UIButton+WebCache.h + + - (void)setBackgroundImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder + + + url + The url for the image. + + state + The state that uses the specified title. The values are described in UIControlState. + + placeholder + The image to be set initially, until the image request finishes. + + + + //api/name/setBackgroundImageWithURL:forState:placeholderImage: + + + + //apple_ref/occ/intfm/UIButton(WebCache)/setBackgroundImageWithURL:forState:placeholderImage:options: + Set the backgroundImageView image with an url, placeholder and custom options. + UIButton+WebCache.h + + - (void)setBackgroundImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options + + + url + The url for the image. + + state + The state that uses the specified title. The values are described in UIControlState. + + placeholder + The image to be set initially, until the image request finishes. + + options + The options to use when downloading the image. @see SDWebImageOptions for the possible values. + + + + //api/name/setBackgroundImageWithURL:forState:placeholderImage:options: + + + + //apple_ref/occ/intfm/UIButton(WebCache)/setBackgroundImageWithURL:forState:completed: + Set the backgroundImageView image with an url. + UIButton+WebCache.h + + - (void)setBackgroundImageWithURL:(NSURL *)url forState:(UIControlState)state completed:(SDWebImageCompletedBlock)completedBlock + + + url + The url for the image. + + state + The state that uses the specified title. The values are described in UIControlState. + + success + A block to be executed when the image request succeed This block has no return value and takes the retrieved image as argument. + + failure + A block object to be executed when the image request failed. This block has no return value and takes the error object describing the network or parsing error that occurred (may be nil). + + + + //api/name/setBackgroundImageWithURL:forState:completed: + + + + //apple_ref/occ/intfm/UIButton(WebCache)/setBackgroundImageWithURL:forState:placeholderImage:completed: + Set the backgroundImageView image with an url, placeholder. + UIButton+WebCache.h + + - (void)setBackgroundImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder completed:(SDWebImageCompletedBlock)completedBlock + + + url + The url for the image. + + state + The state that uses the specified title. The values are described in UIControlState. + + placeholder + The image to be set initially, until the image request finishes. + + success + A block to be executed when the image request succeed This block has no return value and takes the retrieved image as argument. + + failure + A block object to be executed when the image request failed. This block has no return value and takes the error object describing the network or parsing error that occurred (may be nil). + + + + //api/name/setBackgroundImageWithURL:forState:placeholderImage:completed: + + + + //apple_ref/occ/intfm/UIButton(WebCache)/setBackgroundImageWithURL:forState:placeholderImage:options:completed: + Set the backgroundImageView image with an url, placeholder and custom options. + UIButton+WebCache.h + + - (void)setBackgroundImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options completed:(SDWebImageCompletedBlock)completedBlock + + + url + The url for the image. + + placeholder + The image to be set initially, until the image request finishes. + + options + The options to use when downloading the image. @see SDWebImageOptions for the possible values. + + success + A block to be executed when the image request succeed This block has no return value and takes the retrieved image as argument. + + failure + A block object to be executed when the image request failed. This block has no return value and takes the error object describing the network or parsing error that occurred (may be nil). + + + + //api/name/setBackgroundImageWithURL:forState:placeholderImage:options:completed: + + + + //apple_ref/occ/intfm/UIButton(WebCache)/cancelCurrentImageLoad + Cancel the current download + UIButton+WebCache.h + + - (void)cancelCurrentImageLoad + + + //api/name/cancelCurrentImageLoad + + + + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens8.xml b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens8.xml new file mode 100644 index 0000000..f6843b8 --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens8.xml @@ -0,0 +1,26 @@ + + + + + + //apple_ref/occ/cat/UIImage(ForceDecode) + + SDWebImageDecoder.h + + + + + + + //apple_ref/occ/intfm/UIImage(ForceDecode)/decodedImageWithImage: + + SDWebImageDecoder.h + + + (UIImage *)decodedImageWithImage:(UIImage *)image + + + //api/name/decodedImageWithImage: + + + + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens9.xml b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens9.xml new file mode 100644 index 0000000..0e46446 --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/Tokens9.xml @@ -0,0 +1,194 @@ + + + + + + //apple_ref/occ/cat/UIImageView(WebCache) + Integrates SDWebImage async downloading and caching of remote images with UIImageView. + UIImageView+WebCache.h + + + + + + + //apple_ref/occ/intfm/UIImageView(WebCache)/setImageWithURL: + Set the imageView image with an url. + UIImageView+WebCache.h + + - (void)setImageWithURL:(NSURL *)url + + + url + The url for the image. + + + + //api/name/setImageWithURL: + + + + //apple_ref/occ/intfm/UIImageView(WebCache)/setImageWithURL:placeholderImage: + Set the imageView image with an url and a placeholder. + UIImageView+WebCache.h + + + //apple_ref/occ/intfm/UIImageView(WebCache)/setImageWithURL:placeholderImage:options: + + + + - (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder + + + url + The url for the image. + + placeholder + The image to be set initially, until the image request finishes. + + + + //api/name/setImageWithURL:placeholderImage: + + + + //apple_ref/occ/intfm/UIImageView(WebCache)/setImageWithURL:placeholderImage:options: + Set the imageView image with an url, placeholder and custom options. + UIImageView+WebCache.h + + - (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options + + + url + The url for the image. + + placeholder + The image to be set initially, until the image request finishes. + + options + The options to use when downloading the image. @see SDWebImageOptions for the possible values. + + + + //api/name/setImageWithURL:placeholderImage:options: + + + + //apple_ref/occ/intfm/UIImageView(WebCache)/setImageWithURL:completed: + Set the imageView image with an url. + UIImageView+WebCache.h + + - (void)setImageWithURL:(NSURL *)url completed:(SDWebImageCompletedBlock)completedBlock + + + url + The url for the image. + + completedBlock + A block called when operation has been completed. This block as no return value +and takes the requested UIImage as first parameter. In case of error the image parameter +is nil and the second parameter may contain an NSError. The third parameter is a Boolean +indicating if the image was retrived from the local cache of from the network. + + + + //api/name/setImageWithURL:completed: + + + + //apple_ref/occ/intfm/UIImageView(WebCache)/setImageWithURL:placeholderImage:completed: + Set the imageView image with an url, placeholder. + UIImageView+WebCache.h + + - (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder completed:(SDWebImageCompletedBlock)completedBlock + + + url + The url for the image. + + placeholder + The image to be set initially, until the image request finishes. + + completedBlock + A block called when operation has been completed. This block as no return value +and takes the requested UIImage as first parameter. In case of error the image parameter +is nil and the second parameter may contain an NSError. The third parameter is a Boolean +indicating if the image was retrived from the local cache of from the network. + + + + //api/name/setImageWithURL:placeholderImage:completed: + + + + //apple_ref/occ/intfm/UIImageView(WebCache)/setImageWithURL:placeholderImage:options:completed: + Set the imageView image with an url, placeholder and custom options. + UIImageView+WebCache.h + + - (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options completed:(SDWebImageCompletedBlock)completedBlock + + + url + The url for the image. + + placeholder + The image to be set initially, until the image request finishes. + + options + The options to use when downloading the image. @see SDWebImageOptions for the possible values. + + completedBlock + A block called when operation has been completed. This block as no return value +and takes the requested UIImage as first parameter. In case of error the image parameter +is nil and the second parameter may contain an NSError. The third parameter is a Boolean +indicating if the image was retrived from the local cache of from the network. + + + + //api/name/setImageWithURL:placeholderImage:options:completed: + + + + //apple_ref/occ/intfm/UIImageView(WebCache)/setImageWithURL:placeholderImage:options:progress:completed: + Set the imageView image with an url, placeholder and custom options. + UIImageView+WebCache.h + + - (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options progress:(SDWebImageDownloaderProgressBlock)progressBlock completed:(SDWebImageCompletedBlock)completedBlock + + + url + The url for the image. + + placeholder + The image to be set initially, until the image request finishes. + + options + The options to use when downloading the image. @see SDWebImageOptions for the possible values. + + progressBlock + A block called while image is downloading + + completedBlock + A block called when operation has been completed. This block as no return value +and takes the requested UIImage as first parameter. In case of error the image parameter +is nil and the second parameter may contain an NSError. The third parameter is a Boolean +indicating if the image was retrived from the local cache of from the network. + + + + //api/name/setImageWithURL:placeholderImage:options:progress:completed: + + + + //apple_ref/occ/intfm/UIImageView(WebCache)/cancelCurrentImageLoad + Cancel the current download + UIImageView+WebCache.h + + - (void)cancelCurrentImageLoad + + + //api/name/cancelCurrentImageLoad + + + + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/docSet.dsidx b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/docSet.dsidx new file mode 100644 index 0000000000000000000000000000000000000000..902ab7deda9ab75766445c44948453754269bb0c GIT binary patch literal 282624 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 literal 0 HcmV?d00001 diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/docSet.mom b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/docSet.mom new file mode 100644 index 0000000000000000000000000000000000000000..8e38182c3c1fe2b6d0a74f5c40b0124f3a003743 GIT binary patch literal 13990 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 literal 0 HcmV?d00001 diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/docSet.skidx b/RETableViewManagerExample/Pods/Documentation/SDWebImage/docset/Contents/Resources/docSet.skidx new file mode 100644 index 0000000000000000000000000000000000000000..50df901aa91e36f9fd9d1ee42da899f8d359cbee GIT binary patch literal 61440 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 literal 0 HcmV?d00001 diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Categories/MKAnnotationView+WebCache.html b/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Categories/MKAnnotationView+WebCache.html new file mode 100644 index 0000000..6a7a929 --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Categories/MKAnnotationView+WebCache.html @@ -0,0 +1,754 @@ + + + + + MKAnnotationView(WebCache) Category Reference + + + + + + + +
+ + + + +
+ +
+
+ + + +
+ +
+ + + + +
Declared inMKAnnotationView+WebCache.h
+ + + + +
+ +

Overview

+

Integrates SDWebImage async downloading and caching of remote images with MKAnnotationView.

+
+ + + + + +
+ +

Tasks

+ + + + + + + +
+ + + + + + + + + +
+ +

Instance Methods

+ +
+ +

cancelCurrentImageLoad

+ + + +
+

Cancel the current download

+
+ + + +
- (void)cancelCurrentImageLoad
+ + + + + + + + + +
+

Discussion

+

Cancel the current download

+
+ + + + + + + +
+

Declared In

+ MKAnnotationView+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:

+ + + +
+

Set the imageView image with an url.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ MKAnnotationView+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:completed:

+ + + +
+

Set the imageView image with an url.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url completed:(SDWebImageCompletedBlock)completedBlock
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
completedBlock
+

A block called when operation has been completed. This block as no return value +and takes the requested UIImage as first parameter. In case of error the image parameter +is nil and the second parameter may contain an NSError. The third parameter is a Boolean +indicating if the image was retrived from the local cache of from the network.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ MKAnnotationView+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:placeholderImage:

+ + + +
+

Set the imageView image with an url and a placeholder.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
placeholder
+

The image to be set initially, until the image request finishes.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url and a placeholder.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + + + +
+

Declared In

+ MKAnnotationView+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:placeholderImage:completed:

+ + + +
+

Set the imageView image with an url, placeholder.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder completed:(SDWebImageCompletedBlock)completedBlock
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
placeholder
+

The image to be set initially, until the image request finishes.

+
+ +
+
completedBlock
+

A block called when operation has been completed. This block as no return value +and takes the requested UIImage as first parameter. In case of error the image parameter +is nil and the second parameter may contain an NSError. The third parameter is a Boolean +indicating if the image was retrived from the local cache of from the network.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url, placeholder.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ MKAnnotationView+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:placeholderImage:options:

+ + + +
+

Set the imageView image with an url, placeholder and custom options.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
placeholder
+

The image to be set initially, until the image request finishes.

+
+ +
+
options
+

The options to use when downloading the image. @see SDWebImageOptions for the possible values.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url, placeholder and custom options.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ MKAnnotationView+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:placeholderImage:options:completed:

+ + + +
+

Set the imageView image with an url, placeholder and custom options.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options completed:(SDWebImageCompletedBlock)completedBlock
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
placeholder
+

The image to be set initially, until the image request finishes.

+
+ +
+
options
+

The options to use when downloading the image. @see SDWebImageOptions for the possible values.

+
+ +
+
completedBlock
+

A block called when operation has been completed. This block as no return value +and takes the requested UIImage as first parameter. In case of error the image parameter +is nil and the second parameter may contain an NSError. The third parameter is a Boolean +indicating if the image was retrived from the local cache of from the network.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url, placeholder and custom options.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ MKAnnotationView+WebCache.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Categories/UIButton+WebCache.html b/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Categories/UIButton+WebCache.html new file mode 100644 index 0000000..3d4553f --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Categories/UIButton+WebCache.html @@ -0,0 +1,1244 @@ + + + + + UIButton(WebCache) Category Reference + + + + + + + +
+ + + + +
+ +
+
+ + + +
+ +
+ + + + +
Declared inUIButton+WebCache.h
+ + + + +
+ +

Overview

+

Integrates SDWebImage async downloading and caching of remote images with UIButtonView.

+
+ + + + + +
+ +

Tasks

+ + + + + + + +
+ + + + + + + + + +
+ +

Instance Methods

+ +
+ +

cancelCurrentImageLoad

+ + + +
+

Cancel the current download

+
+ + + +
- (void)cancelCurrentImageLoad
+ + + + + + + + + +
+

Discussion

+

Cancel the current download

+
+ + + + + + + +
+

Declared In

+ UIButton+WebCache.h
+
+ + +
+ +
+ +

setBackgroundImageWithURL:forState:

+ + + +
+

Set the backgroundImageView image with an url.

+
+ + + +
- (void)setBackgroundImageWithURL:(NSURL *)url forState:(UIControlState)state
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
state
+

The state that uses the specified title. The values are described in UIControlState.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the backgroundImageView image with an url.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ UIButton+WebCache.h
+
+ + +
+ +
+ +

setBackgroundImageWithURL:forState:completed:

+ + + +
+

Set the backgroundImageView image with an url.

+
+ + + +
- (void)setBackgroundImageWithURL:(NSURL *)url forState:(UIControlState)state completed:(SDWebImageCompletedBlock)completedBlock
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
state
+

The state that uses the specified title. The values are described in UIControlState.

+
+ +
+
success
+

A block to be executed when the image request succeed This block has no return value and takes the retrieved image as argument.

+
+ +
+
failure
+

A block object to be executed when the image request failed. This block has no return value and takes the error object describing the network or parsing error that occurred (may be nil).

+
+ +
+ + + + + + + +
+

Discussion

+

Set the backgroundImageView image with an url.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ UIButton+WebCache.h
+
+ + +
+ +
+ +

setBackgroundImageWithURL:forState:placeholderImage:

+ + + +
+

Set the backgroundImageView image with an url and a placeholder.

+
+ + + +
- (void)setBackgroundImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
state
+

The state that uses the specified title. The values are described in UIControlState.

+
+ +
+
placeholder
+

The image to be set initially, until the image request finishes.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the backgroundImageView image with an url and a placeholder.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ UIButton+WebCache.h
+
+ + +
+ +
+ +

setBackgroundImageWithURL:forState:placeholderImage:completed:

+ + + +
+

Set the backgroundImageView image with an url, placeholder.

+
+ + + +
- (void)setBackgroundImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder completed:(SDWebImageCompletedBlock)completedBlock
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
state
+

The state that uses the specified title. The values are described in UIControlState.

+
+ +
+
placeholder
+

The image to be set initially, until the image request finishes.

+
+ +
+
success
+

A block to be executed when the image request succeed This block has no return value and takes the retrieved image as argument.

+
+ +
+
failure
+

A block object to be executed when the image request failed. This block has no return value and takes the error object describing the network or parsing error that occurred (may be nil).

+
+ +
+ + + + + + + +
+

Discussion

+

Set the backgroundImageView image with an url, placeholder.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ UIButton+WebCache.h
+
+ + +
+ +
+ +

setBackgroundImageWithURL:forState:placeholderImage:options:

+ + + +
+

Set the backgroundImageView image with an url, placeholder and custom options.

+
+ + + +
- (void)setBackgroundImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
state
+

The state that uses the specified title. The values are described in UIControlState.

+
+ +
+
placeholder
+

The image to be set initially, until the image request finishes.

+
+ +
+
options
+

The options to use when downloading the image. @see SDWebImageOptions for the possible values.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the backgroundImageView image with an url, placeholder and custom options.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ UIButton+WebCache.h
+
+ + +
+ +
+ +

setBackgroundImageWithURL:forState:placeholderImage:options:completed:

+ + + +
+

Set the backgroundImageView image with an url, placeholder and custom options.

+
+ + + +
- (void)setBackgroundImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options completed:(SDWebImageCompletedBlock)completedBlock
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
placeholder
+

The image to be set initially, until the image request finishes.

+
+ +
+
options
+

The options to use when downloading the image. @see SDWebImageOptions for the possible values.

+
+ +
+
success
+

A block to be executed when the image request succeed This block has no return value and takes the retrieved image as argument.

+
+ +
+
failure
+

A block object to be executed when the image request failed. This block has no return value and takes the error object describing the network or parsing error that occurred (may be nil).

+
+ +
+ + + + + + + +
+

Discussion

+

Set the backgroundImageView image with an url, placeholder and custom options.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ UIButton+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:forState:

+ + + +
+

Set the imageView image with an url.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url forState:(UIControlState)state
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
state
+

The state that uses the specified title. The values are described in UIControlState.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ UIButton+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:forState:completed:

+ + + +
+

Set the imageView image with an url.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url forState:(UIControlState)state completed:(SDWebImageCompletedBlock)completedBlock
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
state
+

The state that uses the specified title. The values are described in UIControlState.

+
+ +
+
completedBlock
+

A block called when operation has been completed. This block as no return value +and takes the requested UIImage as first parameter. In case of error the image parameter +is nil and the second parameter may contain an NSError. The third parameter is a Boolean +indicating if the image was retrived from the local cache of from the network.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ UIButton+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:forState:placeholderImage:

+ + + +
+

Set the imageView image with an url and a placeholder.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
state
+

The state that uses the specified title. The values are described in UIControlState.

+
+ +
+
placeholder
+

The image to be set initially, until the image request finishes.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url and a placeholder.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ UIButton+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:forState:placeholderImage:completed:

+ + + +
+

Set the imageView image with an url, placeholder.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder completed:(SDWebImageCompletedBlock)completedBlock
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
state
+

The state that uses the specified title. The values are described in UIControlState.

+
+ +
+
placeholder
+

The image to be set initially, until the image request finishes.

+
+ +
+
completedBlock
+

A block called when operation has been completed. This block as no return value +and takes the requested UIImage as first parameter. In case of error the image parameter +is nil and the second parameter may contain an NSError. The third parameter is a Boolean +indicating if the image was retrived from the local cache of from the network.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url, placeholder.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ UIButton+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:forState:placeholderImage:options:

+ + + +
+

Set the imageView image with an url, placeholder and custom options.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
state
+

The state that uses the specified title. The values are described in UIControlState.

+
+ +
+
placeholder
+

The image to be set initially, until the image request finishes.

+
+ +
+
options
+

The options to use when downloading the image. @see SDWebImageOptions for the possible values.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url, placeholder and custom options.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ UIButton+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:forState:placeholderImage:options:completed:

+ + + +
+

Set the imageView image with an url, placeholder and custom options.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options completed:(SDWebImageCompletedBlock)completedBlock
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
state
+

The state that uses the specified title. The values are described in UIControlState.

+
+ +
+
placeholder
+

The image to be set initially, until the image request finishes.

+
+ +
+
options
+

The options to use when downloading the image. @see SDWebImageOptions for the possible values.

+
+ +
+
completedBlock
+

A block called when operation has been completed. This block as no return value +and takes the requested UIImage as first parameter. In case of error the image parameter +is nil and the second parameter may contain an NSError. The third parameter is a Boolean +indicating if the image was retrived from the local cache of from the network.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url, placeholder and custom options.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ UIButton+WebCache.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Categories/UIImage+ForceDecode.html b/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Categories/UIImage+ForceDecode.html new file mode 100644 index 0000000..6251ad2 --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Categories/UIImage+ForceDecode.html @@ -0,0 +1,265 @@ + + + + + UIImage(ForceDecode) Category Reference + + + + + + + +
+ + + + +
+ +
+
+ + + +
+ +
+ + + + +
Declared inSDWebImageDecoder.h
+ + + + + + +
+ +

Tasks

+ + + + + + + +
+ + + + + + + +
+ +

Class Methods

+ +
+ +

decodedImageWithImage:

+ + + +
+ (UIImage *)decodedImageWithImage:(UIImage *)image
+ + +
+ +
+ + + + +
+ + +
+
+ + + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Categories/UIImageView+WebCache.html b/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Categories/UIImageView+WebCache.html new file mode 100644 index 0000000..cfc46b6 --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Categories/UIImageView+WebCache.html @@ -0,0 +1,870 @@ + + + + + UIImageView(WebCache) Category Reference + + + + + + + +
+ + + + +
+ +
+
+ + + +
+ +
+ + + + +
Declared inUIImageView+WebCache.h
+ + + + +
+ +

Overview

+

Integrates SDWebImage async downloading and caching of remote images with UIImageView.

+ +

Usage with a UITableViewCell sub-class:

+ +
#import <SDWebImage/UIImageView+WebCache.h>
+
+...
+
+- (UITableViewCell *)tableView:(UITableView *)tableView
+         cellForRowAtIndexPath:(NSIndexPath *)indexPath
+{
+    static NSString *MyIdentifier = @"MyIdentifier";
+
+    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];
+
+    if (cell == nil)
+    {
+        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
+                                       reuseIdentifier:MyIdentifier] autorelease];
+    }
+
+    // Here we use the provided setImageWithURL: method to load the web image
+    // Ensure you use a placeholder image otherwise cells will be initialized with no image
+    [cell.imageView setImageWithURL:[NSURL URLWithString:@"http://example.com/image.jpg"]
+                   placeholderImage:[UIImage imageNamed:@"placeholder"]];
+
+    cell.textLabel.text = @"My Text";
+    return cell;
+}
+
+
+ + + + + +
+ +

Tasks

+ + + + + + + +
+ + + + + + + + + +
+ +

Instance Methods

+ +
+ +

cancelCurrentImageLoad

+ + + +
+

Cancel the current download

+
+ + + +
- (void)cancelCurrentImageLoad
+ + + + + + + + + +
+

Discussion

+

Cancel the current download

+
+ + + + + + + +
+

Declared In

+ UIImageView+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:

+ + + +
+

Set the imageView image with an url.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ UIImageView+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:completed:

+ + + +
+

Set the imageView image with an url.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url completed:(SDWebImageCompletedBlock)completedBlock
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
completedBlock
+

A block called when operation has been completed. This block as no return value +and takes the requested UIImage as first parameter. In case of error the image parameter +is nil and the second parameter may contain an NSError. The third parameter is a Boolean +indicating if the image was retrived from the local cache of from the network.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ UIImageView+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:placeholderImage:

+ + + +
+

Set the imageView image with an url and a placeholder.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
placeholder
+

The image to be set initially, until the image request finishes.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url and a placeholder.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + + + +
+

Declared In

+ UIImageView+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:placeholderImage:completed:

+ + + +
+

Set the imageView image with an url, placeholder.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder completed:(SDWebImageCompletedBlock)completedBlock
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
placeholder
+

The image to be set initially, until the image request finishes.

+
+ +
+
completedBlock
+

A block called when operation has been completed. This block as no return value +and takes the requested UIImage as first parameter. In case of error the image parameter +is nil and the second parameter may contain an NSError. The third parameter is a Boolean +indicating if the image was retrived from the local cache of from the network.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url, placeholder.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ UIImageView+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:placeholderImage:options:

+ + + +
+

Set the imageView image with an url, placeholder and custom options.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
placeholder
+

The image to be set initially, until the image request finishes.

+
+ +
+
options
+

The options to use when downloading the image. @see SDWebImageOptions for the possible values.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url, placeholder and custom options.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ UIImageView+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:placeholderImage:options:completed:

+ + + +
+

Set the imageView image with an url, placeholder and custom options.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options completed:(SDWebImageCompletedBlock)completedBlock
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
placeholder
+

The image to be set initially, until the image request finishes.

+
+ +
+
options
+

The options to use when downloading the image. @see SDWebImageOptions for the possible values.

+
+ +
+
completedBlock
+

A block called when operation has been completed. This block as no return value +and takes the requested UIImage as first parameter. In case of error the image parameter +is nil and the second parameter may contain an NSError. The third parameter is a Boolean +indicating if the image was retrived from the local cache of from the network.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url, placeholder and custom options.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ UIImageView+WebCache.h
+
+ + +
+ +
+ +

setImageWithURL:placeholderImage:options:progress:completed:

+ + + +
+

Set the imageView image with an url, placeholder and custom options.

+
+ + + +
- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options progress:(SDWebImageDownloaderProgressBlock)progressBlock completed:(SDWebImageCompletedBlock)completedBlock
+ + + +
+

Parameters

+ +
+
url
+

The url for the image.

+
+ +
+
placeholder
+

The image to be set initially, until the image request finishes.

+
+ +
+
options
+

The options to use when downloading the image. @see SDWebImageOptions for the possible values.

+
+ +
+
progressBlock
+

A block called while image is downloading

+
+ +
+
completedBlock
+

A block called when operation has been completed. This block as no return value +and takes the requested UIImage as first parameter. In case of error the image parameter +is nil and the second parameter may contain an NSError. The third parameter is a Boolean +indicating if the image was retrived from the local cache of from the network.

+
+ +
+ + + + + + + +
+

Discussion

+

Set the imageView image with an url, placeholder and custom options.

+ +

The downloand is asynchronous and cached.

+
+ + + + + + + +
+

Declared In

+ UIImageView+WebCache.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Classes/SDImageCache.html b/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Classes/SDImageCache.html new file mode 100644 index 0000000..90bcdb3 --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Classes/SDImageCache.html @@ -0,0 +1,1249 @@ + + + + + SDImageCache Class Reference + + + + + + + +
+ + + + +
+ +
+
+ + + +
+ +
+ + + + + + + +
Inherits fromNSObject
Declared inSDImageCache.h
+ + + + +
+ +

Overview

+

SDImageCache maintains a memory cache and an optional disk cache. Disk cache write operations are performed +asynchronous so it doesn’t add unnecessary latency to the UI.

+
+ + + + + +
+ +

Tasks

+ + + + + + + +
+ + + + + +
+ +

Properties

+ +
+ +

maxCacheAge

+ + + +
+

The maximum length of time to keep an image in the cache, in seconds

+
+ + + +
@property (assign, nonatomic) NSInteger maxCacheAge
+ + + + + + + + + +
+

Discussion

+

The maximum length of time to keep an image in the cache, in seconds

+
+ + + + + + + +
+

Declared In

+ SDImageCache.h
+
+ + +
+ +
+ + + +
+ +

Class Methods

+ +
+ +

sharedImageCache

+ + + +
+

Returns global shared cache instance

+
+ + + +
+ (SDImageCache *)sharedImageCache
+ + + + + +
+

Return Value

+

SDImageCache global instance

+
+ + + + + +
+

Discussion

+

Returns global shared cache instance

+
+ + + + + + + +
+

Declared In

+ SDImageCache.h
+
+ + +
+ +
+ + + +
+ +

Instance Methods

+ +
+ +

cleanDisk

+ + + +
+

Remove all expired cached image from disk

+
+ + + +
- (void)cleanDisk
+ + + + + + + + + +
+

Discussion

+

Remove all expired cached image from disk

+
+ + + + + + + +
+

Declared In

+ SDImageCache.h
+
+ + +
+ +
+ +

clearDisk

+ + + +
+

Clear all disk cached images

+
+ + + +
- (void)clearDisk
+ + + + + + + + + +
+

Discussion

+

Clear all disk cached images

+
+ + + + + + + +
+

Declared In

+ SDImageCache.h
+
+ + +
+ +
+ +

clearMemory

+ + + +
+

Clear all memory cached images

+
+ + + +
- (void)clearMemory
+ + + + + + + + + +
+

Discussion

+

Clear all memory cached images

+
+ + + + + + + +
+

Declared In

+ SDImageCache.h
+
+ + +
+ +
+ +

getDiskCount

+ + + +
+

Get the number of images in the disk cache

+
+ + + +
- (int)getDiskCount
+ + + + + + + + + +
+

Discussion

+

Get the number of images in the disk cache

+
+ + + + + + + +
+

Declared In

+ SDImageCache.h
+
+ + +
+ +
+ +

getSize

+ + + +
+

Get the size used by the disk cache

+
+ + + +
- (int)getSize
+ + + + + + + + + +
+

Discussion

+

Get the size used by the disk cache

+
+ + + + + + + +
+

Declared In

+ SDImageCache.h
+
+ + +
+ +
+ +

imageFromDiskCacheForKey:

+ + + +
+

Query the disk cache synchronousely.

+
+ + + +
- (UIImage *)imageFromDiskCacheForKey:(NSString *)key
+ + + +
+

Parameters

+ +
+
key
+

The unique key used to store the wanted image

+
+ +
+ + + + + + + +
+

Discussion

+

Query the disk cache synchronousely.

+
+ + + + + + + +
+

Declared In

+ SDImageCache.h
+
+ + +
+ +
+ +

imageFromMemoryCacheForKey:

+ + + +
+

Query the memory cache.

+
+ + + +
- (UIImage *)imageFromMemoryCacheForKey:(NSString *)key
+ + + +
+

Parameters

+ +
+
key
+

The unique key used to store the wanted image

+
+ +
+ + + + + + + +
+

Discussion

+

Query the memory cache.

+
+ + + + + + + +
+

Declared In

+ SDImageCache.h
+
+ + +
+ +
+ +

initWithNamespace:

+ + + +
+

Init a new cache store with a specific namespace

+
+ + + +
- (id)initWithNamespace:(NSString *)ns
+ + + +
+

Parameters

+ +
+
ns
+

The namespace to use for this cache store

+
+ +
+ + + + + + + +
+

Discussion

+

Init a new cache store with a specific namespace

+
+ + + + + + + +
+

Declared In

+ SDImageCache.h
+
+ + +
+ +
+ +

queryDiskCacheForKey:done:

+ + + +
+

Query the disk cache asynchronousely.

+
+ + + +
- (void)queryDiskCacheForKey:(NSString *)key done:(void ( ^ ) ( UIImage *image , SDImageCacheType cacheType ))doneBlock
+ + + +
+

Parameters

+ +
+
key
+

The unique key used to store the wanted image

+
+ +
+ + + + + + + +
+

Discussion

+

Query the disk cache asynchronousely.

+
+ + + + + + + +
+

Declared In

+ SDImageCache.h
+
+ + +
+ +
+ +

removeImageForKey:

+ + + +
+

Remove the image from memory and disk cache synchronousely

+
+ + + +
- (void)removeImageForKey:(NSString *)key
+ + + +
+

Parameters

+ +
+
key
+

The unique image cache key

+
+ +
+ + + + + + + +
+

Discussion

+

Remove the image from memory and disk cache synchronousely

+
+ + + + + + + +
+

Declared In

+ SDImageCache.h
+
+ + +
+ +
+ +

removeImageForKey:fromDisk:

+ + + +
+

Remove the image from memory and optionaly disk cache synchronousely

+
+ + + +
- (void)removeImageForKey:(NSString *)key fromDisk:(BOOL)fromDisk
+ + + +
+

Parameters

+ +
+
key
+

The unique image cache key

+
+ +
+
fromDisk
+

Also remove cache entry from disk if YES

+
+ +
+ + + + + + + +
+

Discussion

+

Remove the image from memory and optionaly disk cache synchronousely

+
+ + + + + + + +
+

Declared In

+ SDImageCache.h
+
+ + +
+ +
+ +

storeImage:forKey:

+ + + +
+

Store an image into memory and disk cache at the given key.

+
+ + + +
- (void)storeImage:(UIImage *)image forKey:(NSString *)key
+ + + +
+

Parameters

+ +
+
image
+

The image to store

+
+ +
+
key
+

The unique image cache key, usually it’s image absolute URL

+
+ +
+ + + + + + + +
+

Discussion

+

Store an image into memory and disk cache at the given key.

+
+ + + + + + + +
+

Declared In

+ SDImageCache.h
+
+ + +
+ +
+ +

storeImage:forKey:toDisk:

+ + + +
+

Store an image into memory and optionally disk cache at the given key.

+
+ + + +
- (void)storeImage:(UIImage *)image forKey:(NSString *)key toDisk:(BOOL)toDisk
+ + + +
+

Parameters

+ +
+
image
+

The image to store

+
+ +
+
key
+

The unique image cache key, usually it’s image absolute URL

+
+ +
+
toDisk
+

Store the image to disk cache if YES

+
+ +
+ + + + + + + +
+

Discussion

+

Store an image into memory and optionally disk cache at the given key.

+
+ + + + + + + +
+

Declared In

+ SDImageCache.h
+
+ + +
+ +
+ +

storeImage:imageData:forKey:toDisk:

+ + + +
+

Store an image into memory and optionally disk cache at the given key.

+
+ + + +
- (void)storeImage:(UIImage *)image imageData:(NSData *)data forKey:(NSString *)key toDisk:(BOOL)toDisk
+ + + +
+

Parameters

+ +
+
image
+

The image to store

+
+ +
+
data
+

The image data as returned by the server, this representation will be used for disk storage +instead of converting the given image object into a storable/compressed image format in order +to save quality and CPU

+
+ +
+
key
+

The unique image cache key, usually it’s image absolute URL

+
+ +
+
toDisk
+

Store the image to disk cache if YES

+
+ +
+ + + + + + + +
+

Discussion

+

Store an image into memory and optionally disk cache at the given key.

+
+ + + + + + + +
+

Declared In

+ SDImageCache.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Classes/SDWebImageDownloader.html b/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Classes/SDWebImageDownloader.html new file mode 100644 index 0000000..53b66a5 --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Classes/SDWebImageDownloader.html @@ -0,0 +1,595 @@ + + + + + SDWebImageDownloader Class Reference + + + + + + + +
+ + + + +
+ +
+
+ + + +
+ +
+ + + + + + + +
Inherits fromNSObject
Declared inSDWebImageDownloader.h
+ + + + +
+ +

Overview

+

Asynchronous downloader dedicated and optimized for image loading.

+
+ + + + + +
+ +

Tasks

+ + + + + + + +
+ + + + + +
+ +

Properties

+ +
+ +

maxConcurrentDownloads

+ + + +
@property (assign, nonatomic) NSInteger maxConcurrentDownloads
+ + +
+ +
+ +

queueMode

+ + + +
+

Changes download operations unqueue mode. Default value is SDWebImageDownloaderFILOQueueMode.

+
+ + + +
@property (assign, nonatomic) SDWebImageDownloaderQueueMode queueMode
+ + + + + + + + + +
+

Discussion

+

Changes download operations unqueue mode. Default value is SDWebImageDownloaderFILOQueueMode.

+
+ + + + + + + +
+

Declared In

+ SDWebImageDownloader.h
+
+ + +
+ +
+ + + +
+ +

Class Methods

+ +
+ +

sharedDownloader

+ + + +
+ (SDWebImageDownloader *)sharedDownloader
+ + +
+ +
+ + + +
+ +

Instance Methods

+ +
+ +

downloadImageWithURL:options:progress:completed:

+ + + +
+

Creates a SDWebImageDownloader async downloader instance with a given URL

+
+ + + +
- (id<SDWebImageOperation>)downloadImageWithURL:(NSURL *)url options:(SDWebImageDownloaderOptions)options progress:(SDWebImageDownloaderProgressBlock)progressBlock completed:(SDWebImageDownloaderCompletedBlock)completedBlock
+ + + +
+

Parameters

+ +
+
url
+

The URL to the image to download

+
+ +
+
options
+

The options to be used for this download

+
+ +
+
completed
+

A block called once the download is completed. +If the download succeeded, the image parameter is set, in case of error, +error parameter is set with the error. The last parameter is always YES +if SDWebImageDownloaderProgressiveDownload isn’t use. With the +SDWebImageDownloaderProgressiveDownload option, this block is called +repeatedly with the partial image object and the finished argument set to NO +before to be called a last time with the full image and finished argument +set to YES. In case of error, the finished argument is always YES.

+
+ +
+
progress
+

A block called repeatedly while the image is downloading

+
+ +
+ + + +
+

Return Value

+

A cancellable SDWebImageOperation

+
+ + + + + +
+

Discussion

+

Creates a SDWebImageDownloader async downloader instance with a given URL

+ +

The delegate will be informed when the image is finish downloaded or an error has happen.

+
+ + + + + + + +
+

Declared In

+ SDWebImageDownloader.h
+
+ + +
+ +
+ +

setValue:forHTTPHeaderField:

+ + + +
+

Set a value for a HTTP header to be appended to each download HTTP request.

+
+ + + +
- (void)setValue:(NSString *)value forHTTPHeaderField:(NSString *)field
+ + + +
+

Parameters

+ +
+
value
+

The value for the header field. Use nil value to remove the header.

+
+ +
+
field
+

The name of the header field to set.

+
+ +
+ + + + + + + +
+

Discussion

+

Set a value for a HTTP header to be appended to each download HTTP request.

+
+ + + + + + + +
+

Declared In

+ SDWebImageDownloader.h
+
+ + +
+ +
+ +

valueForHTTPHeaderField:

+ + + +
+

Returns the value of the specified HTTP header field.

+
+ + + +
- (NSString *)valueForHTTPHeaderField:(NSString *)field
+ + + + + +
+

Return Value

+

The value associated with the header field field, or nil if there is no corresponding header field.

+
+ + + + + +
+

Discussion

+

Returns the value of the specified HTTP header field.

+
+ + + + + + + +
+

Declared In

+ SDWebImageDownloader.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Classes/SDWebImageDownloaderOperation.html b/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Classes/SDWebImageDownloaderOperation.html new file mode 100644 index 0000000..442ab43 --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Classes/SDWebImageDownloaderOperation.html @@ -0,0 +1,328 @@ + + + + + SDWebImageDownloaderOperation Class Reference + + + + + + + +
+ + + + +
+ +
+
+ + + +
+ +
+ + + + + + + + + + +
Inherits fromNSOperation
Conforms toSDWebImageOperation
Declared inSDWebImageDownloaderOperation.h
+ + + + + + +
+ +

Tasks

+ + + + + + + +
+ + + + + +
+ +

Properties

+ +
+ +

options

+ + + +
@property (assign, nonatomic, readonly) SDWebImageDownloaderOptions options
+ + +
+ +
+ +

request

+ + + +
@property (strong, nonatomic, readonly) NSURLRequest *request
+ + +
+ +
+ + + + + +
+ +

Instance Methods

+ +
+ +

initWithRequest:queue:options:progress:completed:cancelled:

+ + + +
- (id)initWithRequest:(NSURLRequest *)request queue:(dispatch_queue_t)queue options:(SDWebImageDownloaderOptions)options progress:(SDWebImageDownloaderProgressBlock)progressBlock completed:(SDWebImageDownloaderCompletedBlock)completedBlock cancelled:(void ( ^ ) ( ))cancelBlock
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Classes/SDWebImageManager.html b/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Classes/SDWebImageManager.html new file mode 100644 index 0000000..bd9ccf3 --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Classes/SDWebImageManager.html @@ -0,0 +1,692 @@ + + + + + SDWebImageManager Class Reference + + + + + + + +
+ + + + +
+ +
+
+ + + +
+ +
+ + + + + + + +
Inherits fromNSObject
Declared inSDWebImageManager.h
+ + + + +
+ +

Overview

+

The SDWebImageManager is the class behind the UIImageView+WebCache category and likes. +It ties the asynchronous downloader (SDWebImageDownloader) with the image cache store (SDImageCache). +You can use this class directly to benefit from web image downloading with caching in another context than +a UIView.

+ +

Here is a simple example of how to use SDWebImageManager:

+ +

SDWebImageManager manager = [SDWebImageManager sharedManager]; +[manager downloadWithURL:imageURL +delegate:self +options:0 +progress:nil +completed:^(UIImage image, NSError *error, BOOL fromCache) +{ +if (image) +{ +// do something with image +} +}];

+
+ + + + + +
+ +

Tasks

+ + + + + + + +
+ + + + + +
+ +

Properties

+ +
+ +

cacheKeyFilter

+ + + +
+

The cache filter is a block used each time SDWebImageManager need to convert an URL into a cache key. This can +be used to remove dynamic part of an image URL.

+
+ + + +
@property (strong) NSString *^ ) ( NSURL *url ) cacheKeyFilter
+ + + + + + + + + +
+

Discussion

+

The cache filter is a block used each time SDWebImageManager need to convert an URL into a cache key. This can +be used to remove dynamic part of an image URL.

+ +

The following example sets a filter in the application delegate that will remove any query-string from the +URL before to use it as a cache key:

+ +
[[SDWebImageManager sharedManager] setCacheKeyFilter:^(NSURL *url)
+{
+    url = [[NSURL alloc] initWithScheme:url.scheme host:url.host path:url.path];
+    return [url absoluteString];
+}];
+
+
+ + + + + + + +
+

Declared In

+ SDWebImageManager.h
+
+ + +
+ +
+ +

delegate

+ + + +
@property (weak, nonatomic) id<SDWebImageManagerDelegate> delegate
+ + +
+ +
+ +

imageCache

+ + + +
@property (strong, nonatomic, readonly) SDImageCache *imageCache
+ + +
+ +
+ +

imageDownloader

+ + + +
@property (strong, nonatomic, readonly) SDWebImageDownloader *imageDownloader
+ + +
+ +
+ + + +
+ +

Class Methods

+ +
+ +

sharedManager

+ + + +
+

Returns global SDWebImageManager instance.

+
+ + + +
+ (SDWebImageManager *)sharedManager
+ + + + + +
+

Return Value

+

SDWebImageManager shared instance

+
+ + + + + +
+

Discussion

+

Returns global SDWebImageManager instance.

+
+ + + + + + + +
+

Declared In

+ SDWebImageManager.h
+
+ + +
+ +
+ + + +
+ +

Instance Methods

+ +
+ +

cancelAll

+ + + +
+

Cancel all current opreations

+
+ + + +
- (void)cancelAll
+ + + + + + + + + +
+

Discussion

+

Cancel all current opreations

+
+ + + + + + + +
+

Declared In

+ SDWebImageManager.h
+
+ + +
+ +
+ +

downloadWithURL:options:progress:completed:

+ + + +
+

Downloads the image at the given URL if not present in cache or return the cached version otherwise.

+
+ + + +
- (id<SDWebImageOperation>)downloadWithURL:(NSURL *)url options:(SDWebImageOptions)options progress:(SDWebImageDownloaderProgressBlock)progressBlock completed:(SDWebImageCompletedWithFinishedBlock)completedBlock
+ + + +
+

Parameters

+ +
+
url
+

The URL to the image

+
+ +
+
options
+

A mask to specify options to use for this request

+
+ +
+
progressBlock
+

A block called while image is downloading

+
+ +
+
completedBlock
+

A block called when operation has been completed.

+ +

This block as no return value and takes the requested UIImage as first parameter. +In case of error the image parameter is nil and the second parameter may contain an NSError.

+ +

The third parameter is a Boolean indicating if the image was retrived from the local cache +of from the network.

+ +

The last parameter is set to NO when the SDWebImageProgressiveDownload option is used and +the image is downloading. This block is thus called repetidly with a partial image. When +image is fully downloaded, the block is called a last time with the full image and the last +parameter set to YES.

+
+ +
+
delegate
+

The delegate object used to send result back

+
+ +
+ + + +
+

Return Value

+

Returns a cancellable NSOperation

+
+ + + + + +
+

Discussion

+

Downloads the image at the given URL if not present in cache or return the cached version otherwise.

+
+ + + + + + + +
+

Declared In

+ SDWebImageManager.h
+
+ + +
+ +
+ +

isRunning

+ + + +
+

Check one or more operations running

+
+ + + +
- (BOOL)isRunning
+ + + + + + + + + +
+

Discussion

+

Check one or more operations running

+
+ + + + + + + +
+

Declared In

+ SDWebImageManager.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Classes/SDWebImagePrefetcher.html b/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Classes/SDWebImagePrefetcher.html new file mode 100644 index 0000000..bb2c033 --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Classes/SDWebImagePrefetcher.html @@ -0,0 +1,633 @@ + + + + + SDWebImagePrefetcher Class Reference + + + + + + + +
+ + + + +
+ +
+
+ + + +
+ +
+ + + + + + + +
Inherits fromNSObject
Declared inSDWebImagePrefetcher.h
+ + + + +
+ +

Overview

+

Prefetch some URLs in the cache for future use. Images are downloaded in low priority.

+
+ + + + + +
+ +

Tasks

+ + + + + +
    +
  • + +   maxConcurrentDownloads +

    Maximum number of URLs to prefetch at the same time. Defaults to 3.

    +
    + property + +
  • + +   options +

    SDWebImageOptions for prefetcher. Defaults to SDWebImageLowPriority.

    +
    + property + +
  • + + + sharedImagePrefetcher +

    Return the global image prefetcher instance.

    +
    + + +
  • + + – prefetchURLs: +

    Assign list of URLs to let SDWebImagePrefetcher to queue the prefetching, +currently one image is downloaded at a time, +and skips images for failed downloads and proceed to the next image in the list

    +
    + + +
  • + + – prefetchURLs:completed: +

    Assign list of URLs to let SDWebImagePrefetcher to queue the prefetching, +currently one image is downloaded at a time, +and skips images for failed downloads and proceed to the next image in the list

    +
    + + +
  • + + – cancelPrefetching +

    Remove and cancel queued list

    +
    + + +
  • +
+ +
+ + + + + +
+ +

Properties

+ +
+ +

maxConcurrentDownloads

+ + + +
+

Maximum number of URLs to prefetch at the same time. Defaults to 3.

+
+ + + +
@property (nonatomic, assign) NSUInteger maxConcurrentDownloads
+ + + + + + + + + +
+

Discussion

+

Maximum number of URLs to prefetch at the same time. Defaults to 3.

+
+ + + + + + + +
+

Declared In

+ SDWebImagePrefetcher.h
+
+ + +
+ +
+ +

options

+ + + +
+

SDWebImageOptions for prefetcher. Defaults to SDWebImageLowPriority.

+
+ + + +
@property (nonatomic, assign) SDWebImageOptions options
+ + + + + + + + + +
+

Discussion

+

SDWebImageOptions for prefetcher. Defaults to SDWebImageLowPriority.

+
+ + + + + + + +
+

Declared In

+ SDWebImagePrefetcher.h
+
+ + +
+ +
+ + + +
+ +

Class Methods

+ +
+ +

sharedImagePrefetcher

+ + + +
+

Return the global image prefetcher instance.

+
+ + + +
+ (SDWebImagePrefetcher *)sharedImagePrefetcher
+ + + + + + + + + +
+

Discussion

+

Return the global image prefetcher instance.

+
+ + + + + + + +
+

Declared In

+ SDWebImagePrefetcher.h
+
+ + +
+ +
+ + + +
+ +

Instance Methods

+ +
+ +

cancelPrefetching

+ + + +
+

Remove and cancel queued list

+
+ + + +
- (void)cancelPrefetching
+ + + + + + + + + +
+

Discussion

+

Remove and cancel queued list

+
+ + + + + + + +
+

Declared In

+ SDWebImagePrefetcher.h
+
+ + +
+ +
+ +

prefetchURLs:

+ + + +
+

Assign list of URLs to let SDWebImagePrefetcher to queue the prefetching, +currently one image is downloaded at a time, +and skips images for failed downloads and proceed to the next image in the list

+
+ + + +
- (void)prefetchURLs:(NSArray *)urls
+ + + +
+

Parameters

+ +
+
urls
+

list of URLs to prefetch

+
+ +
+ + + + + + + +
+

Discussion

+

Assign list of URLs to let SDWebImagePrefetcher to queue the prefetching, +currently one image is downloaded at a time, +and skips images for failed downloads and proceed to the next image in the list

+
+ + + + + + + +
+

Declared In

+ SDWebImagePrefetcher.h
+
+ + +
+ +
+ +

prefetchURLs:completed:

+ + + +
+

Assign list of URLs to let SDWebImagePrefetcher to queue the prefetching, +currently one image is downloaded at a time, +and skips images for failed downloads and proceed to the next image in the list

+
+ + + +
- (void)prefetchURLs:(NSArray *)urls completed:(void ( ^ ) ( NSUInteger finishedCount , NSUInteger skippedCount ))completionBlock
+ + + +
+

Parameters

+ +
+
urls
+

list of URLs to prefetch

+
+ +
+
completionBlock
+

block to be called when prefetching is completed

+
+ +
+ + + + + + + +
+

Discussion

+

Assign list of URLs to let SDWebImagePrefetcher to queue the prefetching, +currently one image is downloaded at a time, +and skips images for failed downloads and proceed to the next image in the list

+
+ + + + + + + +
+

Declared In

+ SDWebImagePrefetcher.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Protocols/SDWebImageManagerDelegate.html b/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Protocols/SDWebImageManagerDelegate.html new file mode 100644 index 0000000..53eec44 --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Protocols/SDWebImageManagerDelegate.html @@ -0,0 +1,415 @@ + + + + + SDWebImageManagerDelegate Protocol Reference + + + + + + + +
+ + + + +
+ +
+
+ + + +
+ +
+ + + + + + + +
Conforms toNSObject
Declared inSDWebImageManager.h
+ + + + +
+ +

Overview

+

Even if the image is cached, respect the HTTP response cache control, and refresh the image from remote location if needed. +The disk caching will be handled by NSURLCache instead of SDWebImage leading to slight performance degradation. +This option helps deal with images changing behind the same request URL, e.g. Facebook graph api profile pics. +If a cached image is refreshed, the completion block is called once with the cached image and again with the final image.

+ +

Use this flag only if you can’t make your URLs static with embeded cache busting parameter.

+
+ + + + + +
+ +

Tasks

+ + + + + + + +
+ + + + + + + + + +
+ +

Instance Methods

+ +
+ +

imageManager:shouldDownloadImageForURL:

+ + + +
+

Controls which image should be downloaded when the image is not found in the cache.

+
+ + + +
- (BOOL)imageManager:(SDWebImageManager *)imageManager shouldDownloadImageForURL:(NSURL *)imageURL
+ + + +
+

Parameters

+ +
+
imageManager
+

The current SDWebImageManager

+
+ +
+
imageURL
+

The url of the image to be downloaded

+
+ +
+ + + +
+

Return Value

+

Return NO to prevent the downloading of the image on cache misses. If not implemented, YES is implied.

+
+ + + + + +
+

Discussion

+

Controls which image should be downloaded when the image is not found in the cache.

+
+ + + + + + + +
+

Declared In

+ SDWebImageManager.h
+
+ + +
+ +
+ +

imageManager:transformDownloadedImage:withURL:

+ + + +
+

Allows to transform the image immediately after it has been downloaded and just before to cache it on disk and memory. +NOTE: This method is called from a global queue in order to not to block the main thread.

+
+ + + +
- (UIImage *)imageManager:(SDWebImageManager *)imageManager transformDownloadedImage:(UIImage *)image withURL:(NSURL *)imageURL
+ + + +
+

Parameters

+ +
+
imageManager
+

The current SDWebImageManager

+
+ +
+
image
+

The image to transform

+
+ +
+
imageURL
+

The url of the image to transform

+
+ +
+ + + +
+

Return Value

+

The transformed image object.

+
+ + + + + +
+

Discussion

+

Allows to transform the image immediately after it has been downloaded and just before to cache it on disk and memory. +NOTE: This method is called from a global queue in order to not to block the main thread.

+
+ + + + + + + +
+

Declared In

+ SDWebImageManager.h
+
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Protocols/SDWebImageOperation.html b/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Protocols/SDWebImageOperation.html new file mode 100644 index 0000000..3f89bbb --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/Protocols/SDWebImageOperation.html @@ -0,0 +1,268 @@ + + + + + SDWebImageOperation Protocol Reference + + + + + + + +
+ + + + +
+ +
+
+ + + +
+ +
+ + + + + + + +
Conforms toNSObject
Declared inSDWebImageOperation.h
+ + + + + + +
+ +

Tasks

+ + + + + + + +
+ + + + + + + + + +
+ +

Instance Methods

+ +
+ +

cancel

+ + + +
- (void)cancel
+ + +
+ +
+ + +
+ + +
+
+ + + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/css/styles.css b/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/css/styles.css new file mode 100755 index 0000000..bf946c0 --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/css/styles.css @@ -0,0 +1,584 @@ +body { + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + font-size: 13px; +} + +code { + font-family: Courier, Consolas, monospace; + font-size: 13px; + color: #666; +} + +pre { + font-family: Courier, Consolas, monospace; + font-size: 13px; + line-height: 18px; + tab-interval: 0.5em; + border: 1px solid #C7CFD5; + background-color: #F1F5F9; + color: #666; + padding: 0.3em 1em; +} + +ul { + list-style-type: square; +} + +li { + margin-bottom: 10px; +} + +a, a code { + text-decoration: none; + color: #36C; +} + +a:hover, a:hover code { + text-decoration: underline; + color: #36C; +} + +h2 { + border-bottom: 1px solid #8391A8; + color: #3C4C6C; + font-size: 187%; + font-weight: normal; + margin-top: 1.75em; + padding-bottom: 2px; +} + +table { + margin-bottom: 4em; + border-collapse:collapse; + vertical-align: middle; +} + +td { + border: 1px solid #9BB3CD; + padding: .667em; + font-size: 100%; +} + +th { + border: 1px solid #9BB3CD; + padding: .3em .667em .3em .667em; + background: #93A5BB; + font-size: 103%; + font-weight: bold; + color: white; + text-align: left; +} + +/* @group Common page elements */ + +#top_header { + height: 91px; + left: 0; + min-width: 598px; + position: absolute; + right: 0; + top: 0; + z-index: 900; +} + +#footer { + clear: both; + padding-top: 20px; + text-align: center; +} + +#contents, #overview_contents { + -webkit-overflow-scrolling: touch; + border-top: 1px solid #2B334F; + position: absolute; + top: 91px; + left: 0; + right: 0; + bottom: 0; + overflow-x: hidden; + overflow-y: auto; + padding-left: 2em; + padding-right: 2em; + padding-top: 1em; + min-width: 550px; +} + +#contents.isShowingTOC { + left: 230px; + min-width: 320px; +} + +.copyright { + font-size: 12px; +} + +.generator { + font-size: 11px; +} + +.main-navigation ul li { + display: inline; + margin-left: 15px; + list-style: none; +} + +.navigation-top { + clear: both; + float: right; +} + +.navigation-bottom { + clear: both; + float: right; + margin-top: 20px; + margin-bottom: -10px; +} + +.open > .disclosure { + background-image: url("../img/disclosure_open.png"); +} + +.disclosure { + background: url("../img/disclosure.png") no-repeat scroll 0 0; +} + +.disclosure, .nodisclosure { + display: inline-block; + height: 8px; + margin-right: 5px; + position: relative; + width: 9px; +} + +/* @end */ + +/* @group Header */ + +#top_header #library { + background: url("../img/library_background.png") repeat-x 0 0 #485E78; + background-color: #ccc; + height: 35px; + font-size: 115%; +} + +#top_header #library #libraryTitle { + color: #FFFFFF; + margin-left: 15px; + text-shadow: 0 -1px 0 #485E78; + top: 8px; + position: absolute; +} + +#top_header #library #developerHome { + color: #92979E; + right: 15px; + top: 8px; + position: absolute; +} + +#top_header #library a:hover { + text-decoration: none; +} + +#top_header #title { + background: url("../img/title_background.png") repeat-x 0 0 #8A98A9; + border-bottom: 1px solid #B6B6B6; + height: 25px; + overflow: hidden; +} + +#top_header h1 { + font-size: 115%; + font-weight: normal; + margin: 0; + padding: 3px 0 2px; + text-align: center; + text-shadow: 0 1px 0 #D5D5D5; + white-space: nowrap; +} + +#headerButtons { + background-color: #D8D8D8; + background-image: url("../img/button_bar_background.png"); + border-bottom: 1px solid #EDEDED; + border-top: 1px solid #2B334F; + font-size: 8pt; + height: 28px; + left: 0; + list-style: none outside none; + margin: 0; + overflow: hidden; + padding: 0; + position: absolute; + right: 0; + top: 61px; +} + +#headerButtons li { + background-repeat: no-repeat; + display: inline; + margin-top: 0; + margin-bottom: 0; + padding: 0; +} + +#toc_button button { + border-color: #ACACAC; + border-style: none solid none none; + border-width: 0 1px 0 0; + height: 28px; + margin: 0; + padding-left: 30px; + text-align: left; + width: 230px; +} + +li#jumpto_button { + left: 230px; + margin-left: 0; + position: absolute; +} + +li#jumpto_button select { + height: 22px; + margin: 5px 2px 0 10px; + max-width: 300px; +} + +/* @end */ + +/* @group Table of contents */ + +#tocContainer.isShowingTOC { + border-right: 1px solid #ACACAC; + display: block; + overflow-x: hidden; + overflow-y: auto; + padding: 0; +} + +#tocContainer { + background-color: #E4EBF7; + border-top: 1px solid #2B334F; + bottom: 0; + display: none; + left: 0; + overflow: hidden; + position: absolute; + top: 91px; + width: 229px; +} + +#tocContainer > ul#toc { + font-size: 11px; + margin: 0; + padding: 12px 0 18px; + width: 209px; + -moz-user-select: none; + -webkit-user-select: none; + user-select: none; +} + +#tocContainer > ul#toc > li { + margin: 0; + padding: 0 0 7px 30px; + text-indent: -15px; +} + +#tocContainer > ul#toc > li > .sectionName a { + color: #000000; + font-weight: bold; +} + +#tocContainer > ul#toc > li > .sectionName a:hover { + text-decoration: none; +} + +#tocContainer > ul#toc li.children > ul { + display: none; + height: 0; +} + +#tocContainer > ul#toc > li > ul { + margin: 0; + padding: 0; +} + +#tocContainer > ul#toc > li > ul, ul#toc > li > ul > li { + margin-left: 0; + margin-bottom: 0; + padding-left: 15px; +} + +#tocContainer > ul#toc > li ul { + list-style: none; + margin-right: 0; + padding-right: 0; +} + +#tocContainer > ul#toc li.children.open > ul { + display: block; + height: auto; + margin-left: -15px; + padding-left: 0; +} + +#tocContainer > ul#toc > li > ul, ul#toc > li > ul > li { + margin-left: 0; + padding-left: 15px; +} + +#tocContainer li ul li { + margin-top: 0.583em; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +#tocContainer li ul li span.sectionName { + white-space: normal; +} + +#tocContainer > ul#toc > li > ul > li > .sectionName a { + font-weight: bold; +} + +#tocContainer > ul#toc > li > ul a { + color: #4F4F4F; +} + +/* @end */ + +/* @group Index formatting */ + +.index-title { + font-size: 13px; + font-weight: normal; +} + +.index-column { + float: left; + width: 30%; + min-width: 200px; + font-size: 11px; +} + +.index-column ul { + margin: 8px 0 0 0; + padding: 0; + list-style: none; +} + +.index-column ul li { + margin: 0 0 3px 0; + padding: 0; +} + +.hierarchy-column { + min-width: 400px; +} + +.hierarchy-column ul { + margin: 3px 0 0 15px; +} + +.hierarchy-column ul li { + list-style-type: square; +} + +/* @end */ + +/* @group Common formatting elements */ + +.title { + font-weight: normal; + font-size: 215%; + margin-top:0; +} + +.subtitle { + font-weight: normal; + font-size: 180%; + color: #3C4C6C; + border-bottom: 1px solid #5088C5; +} + +.subsubtitle { + font-weight: normal; + font-size: 145%; + height: 0.7em; +} + +.note { + border: 1px solid #5088C5; + background-color: white; + margin: 1.667em 0 1.75em 0; + padding: 0 .667em .083em .750em; +} + +.warning { + border: 1px solid #5088C5; + background-color: #F0F3F7; + margin-bottom: 0.5em; + padding: 0.3em 0.8em; +} + +.bug { + border: 1px solid #000; + background-color: #ffffcc; + margin-bottom: 0.5em; + padding: 0.3em 0.8em; +} + +.deprecated { + color: #F60425; +} + +/* @end */ + +/* @group Common layout */ + +.section { + margin-top: 3em; +} + +/* @end */ + +/* @group Object specification section */ + +.section-specification { + margin-left: 2.5em; + margin-right: 2.5em; + font-size: 12px; +} + +.section-specification table { + margin-bottom: 0em; + border-top: 1px solid #d6e0e5; +} + +.section-specification td { + vertical-align: top; + border-bottom: 1px solid #d6e0e5; + border-left-width: 0px; + border-right-width: 0px; + border-top-width: 0px; + padding: .6em; +} + +.section-specification .specification-title { + font-weight: bold; +} + +/* @end */ + +/* @group Tasks section */ + +.task-list { + list-style-type: none; + padding-left: 0px; +} + +.task-list li { + margin-bottom: 3px; +} + +.task-item-suffix { + color: #996; + font-size: 12px; + font-style: italic; + margin-left: 0.5em; +} + +span.tooltip span.tooltip { + font-size: 1.0em; + display: none; + padding: 0.3em; + border: 1px solid #aaa; + background-color: #fdfec8; + color: #000; + text-align: left; +} + +span.tooltip:hover span.tooltip { + display: block; + position: absolute; + margin-left: 2em; +} + +/* @end */ + +/* @group Method section */ + +.section-method { + margin-top: 2.3em; +} + +.method-title { + margin-bottom: 1.5em; +} + +.method-subtitle { + margin-top: 0.7em; + margin-bottom: 0.2em; +} + +.method-subsection p { + margin-top: 0.4em; + margin-bottom: 0.8em; +} + +.method-declaration { + margin-top:1.182em; + margin-bottom:.909em; +} + +.method-declaration code { + font:14px Courier, Consolas, monospace; + color:#000; +} + +.declaration { + color: #000; +} + +.argument-def { + margin-top: 0.3em; + margin-bottom: 0.3em; +} + +.argument-def dd { + margin-left: 1.25em; +} + +.see-also-section ul { + list-style-type: none; + padding-left: 0px; + margin-top: 0; +} + +.see-also-section li { + margin-bottom: 3px; +} + +.declared-in-ref { + color: #666; +} + +#tocContainer.hideInXcode { + display: none; + border: 0px solid black; +} + +#top_header.hideInXcode { + display: none; +} + +#contents.hideInXcode { + border: 0px solid black; + top: 0px; + left: 0px; +} + +/* @end */ + diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/css/stylesPrint.css b/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/css/stylesPrint.css new file mode 100644 index 0000000..dc54cd2 --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/css/stylesPrint.css @@ -0,0 +1,22 @@ + +header { + display: none; +} + +div.main-navigation, div.navigation-top { + display: none; +} + +div#overview_contents, div#contents.isShowingTOC, div#contents { + overflow: visible; + position: relative; + top: 0px; + border: none; + left: 0; +} +#tocContainer.isShowingTOC { + display: none; +} +nav { + display: none; +} \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/hierarchy.html b/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/hierarchy.html new file mode 100644 index 0000000..1354438 --- /dev/null +++ b/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/hierarchy.html @@ -0,0 +1,111 @@ + + + + + SDWebImage 3.2 Hierarchy + + + + + +
+ + + + +
+
+
+ + +
+ +
+

Class Hierarchy

+ + + +
+ + + +
+ +

Protocol References

+ + + +

Category References

+ + +
+ +
+ + +
+
+ + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/img/button_bar_background.png b/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/img/button_bar_background.png new file mode 100644 index 0000000000000000000000000000000000000000..d2cd0d89b4aaf674e11b9d07c337658b80f513f0 GIT binary patch literal 114 zcmeAS@N?(olHy`uVBq!ia0vp^Oh7Ed0V0oZ{G0)#EInNuLpWyk_Ih$LDDW`5zx;0> zbE|3tyE4bTHXRjZW5(552~7G+e`N0Z-DvjPKTlVwZ|Yi;-OG-~Jd|~L#{1t;6=(>9 Mr>mdKI;Vst0BJHJrvLx| literal 0 HcmV?d00001 diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/img/disclosure.png b/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/img/disclosure.png new file mode 100644 index 0000000000000000000000000000000000000000..147198f01cd74b92edc0adb2b5338348295c7b15 GIT binary patch literal 206 zcmeAS@N?(olHy`uVBq!ia0vp^oIuRM!3HF?&tBaM5-9M9EM{Qf76xHPhFNnYfPxL4 zE{-7*lF5Jm|F>sWJirw6;K`E|{*XH#o}ZuJbhw>A-sSoc7U6`Xq@sl6;|q0<_9hQ|NG1A>6eh0ICDew z_jmmUg*z7Qum7*d5OsA!`TKkA2A&dUJ$wWh7{qk7jk7ftxdPq7;OXk;vd$@?2>_zn BN_PMN literal 0 HcmV?d00001 diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/img/disclosure_open.png b/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/img/disclosure_open.png new file mode 100644 index 0000000000000000000000000000000000000000..ea3842bd8d511a158319049e760d088e10621c7c GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0vp^oIuRM!3HF?&tBaM5-9M9EM{Qf76xHPhFNnYfP%H2 zE{-7*lF5Jm|F>_RJbAJ$v)G3G`}>*|62$}6a^wj^(%}R5_t%Rv+)QxwQE*() z#3I1U{QuwI-v>^eieh-&Ec*8D?(d2r>OM7x-re18f5;-iRe{e#{RE3b-GM`gj2M?O y_%zG#9p>ZX`|2RW|M+l*n?SQbLv*{pBExkP$C{82?k9i_VeoYIb6Mw<&;$VN8AieY literal 0 HcmV?d00001 diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/img/library_background.png b/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/img/library_background.png new file mode 100644 index 0000000000000000000000000000000000000000..8fa6d45702f3e137fed91bf73ce34efe974ce177 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!Qj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS>Jikv)M978H@^>iQPJz&7YBzQTs>)geM*}`vBPHpFZa=FoR z-t-AGB>jT+JvmdK II;Vst0B&tN?f?J) literal 0 HcmV?d00001 diff --git a/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/img/title_background.png b/RETableViewManagerExample/Pods/Documentation/SDWebImage/html/img/title_background.png new file mode 100644 index 0000000000000000000000000000000000000000..9001dac253eb2579bc8ebdeac3d0061bf11256cf GIT binary patch literal 109 zcmeAS@N?(olHy`uVBq!ia0vp^j6f{K!3HGDSj;X0DHBf@#}JO_WQ*!=Z|awQx1T9F z + + + + SDWebImage 3.2 Reference + + + + + +
+ + + + +
+
+
+ + +
+ +
+ + +

Web Image

+ +

This library provides a category for UIImageVIew with support for remote images coming from the web.

+ +

It provides:

+ +
    +
  • An UIImageView category adding web image and cache management to the Cocoa Touch framework
  • +
  • An asynchronous image downloader
  • +
  • An asynchronous memory + disk image caching with automatic cache expiration handling
  • +
  • A background image decompression
  • +
  • A guarantee that the same URL won’t be downloaded several times
  • +
  • A guarantee that bogus URLs won’t be retried again and again
  • +
  • A guarantee that main thread will never be blocked
  • +
  • Performances!
  • +
  • Use GCD and ARC
  • +
+ + +

NOTE: The version 3.0 of SDWebImage isn’t fully backward compatible with 2.0 and requires iOS 5.0 +minimum deployement version. If you need iOS < 5.0 support, please use the last 2.0 version.

+ +

How is SDWebImage better than X?

+ +

Who Use It

+ +

Find out who use SDWebImage and add your app to the list.

+ +

How To Use

+ +

API documentation is available at http://hackemist.com/SDWebImage/doc/

+ +

Using UIImageView+WebCache category with UITableView

+ +

Just #import the UIImageView+WebCache.h header, and call the setImageWithURL:placeholderImage: +method from the tableView:cellForRowAtIndexPath: UITableViewDataSource method. Everything will be +handled for you, from async downloads to caching management.

+ +

```objective-c

+ +

import <SDWebImage/UIImageView+WebCache.h>

+ +

+ +
    +
  • (UITableViewCell )tableView:(UITableView )tableView cellForRowAtIndexPath:(NSIndexPath )indexPath +{ + static NSString MyIdentifier = @“MyIdentifier”;

    + +

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];

    + +

    if (cell == nil) + { + cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault + reuseIdentifier:MyIdentifier] autorelease]; + }

    + +

    // Here we use the new provided setImageWithURL: method to load the web image + [cell.imageView setImageWithURL:[NSURL URLWithString:@“http://www.domain.com/path/to/image.jpg”] + placeholderImage:[UIImage imageNamed:@“placeholder.png”]];

    + +

    cell.textLabel.text = @“My Text”; + return cell; +} +```

  • +
+ + +

Using blocks

+ +

With blocks, you can be notified about the image download progress and whenever the image retrival +has completed with success or not:

+ +

```objective-c +// Here we use the new provided setImageWithURL: method to load the web image +[cell.imageView setImageWithURL:[NSURL URLWithString:@“http://www.domain.com/path/to/image.jpg”]

+ +
           placeholderImage:[UIImage imageNamed:@"placeholder.png"]
+                  completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType) {... completion code here ...}];
+
+ +

```

+ +

Note: neither your success nor failure block will be call if your image request is canceled before completion.

+ +

Using SDWebImageManager

+ +

The SDWebImageManager is the class behind the UIImageView+WebCache category. It ties the +asynchronous downloader with the image cache store. You can use this class directly to benefit +from web image downloading with caching in another context than a UIView (ie: with Cocoa).

+ +

Here is a simple example of how to use SDWebImageManager:

+ +

```objective-c +SDWebImageManager *manager = [SDWebImageManager sharedManager]; +[manager downloadWithURL:imageURL

+ +
             options:0
+             progress:^(NSUInteger receivedSize, long long expectedSize)
+             {
+                 // progression tracking code
+             }
+             completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType)
+             {
+                 if (image)
+                 {
+                     // do something with image
+                 }
+             }];
+
+ +

```

+ +

Using Asynchronous Image Downloader Independently

+ +

It’s also possible to use the async image downloader independently:

+ +

```objective-c +[SDWebImageDownloader.sharedDownloader downloadImageWithURL:imageURL

+ +
                                                options:0
+                                               progress:^(NSUInteger receivedSize, long long expectedSize)
+                                               {
+                                                   // progression tracking code
+                                               }
+                                               completed:^(UIImage *image, NSError *error, BOOL finished)
+                                               {
+                                                   if (image && finished)
+                                                   {
+                                                       // do something with image
+                                                   }
+                                               }];
+
+ +

```

+ +

Using Asynchronous Image Caching Independently

+ +

It is also possible to use the aync based image cache store independently. SDImageCache +maintains a memory cache and an optional disk cache. Disk cache write operations are performed +asynchronous so it doesn’t add unnecessary latency to the UI.

+ +

The SDImageCache class provides a singleton instance for convenience but you can create your own +instance if you want to create separated cache namespace.

+ +

To lookup the cache, you use the imageForKey: method. If the method returns nil, it means the cache +doesn’t currently own the image. You are thus responsible for generating and caching it. The cache +key is an application unique identifier for the image to cache. It is generally the absolute URL of +the image.

+ +

```objective-c +SDImageCache imageCache = [SDImageCache.alloc initWithNamespace:@“myNamespace”]; +[imageCache queryDiskCacheForKey:myCacheKey done:^(UIImage image) +{

+ +
// image is not nil if image was found
+
+ +

}]; +```

+ +

By default SDImageCache will lookup the disk cache if an image can’t be found in the memory cache. +You can prevent this from happening by calling the alternative method imageFromMemoryCacheForKey:.

+ +

To store an image into the cache, you use the storeImage:forKey: method:

+ +

objective-c +[[SDImageCache sharedImageCache] storeImage:myImage forKey:myCacheKey]; +

+ +

By default, the image will be stored in memory cache as well as on disk cache (asynchronously). If +you want only the memory cache, use the alternative method storeImage:forKey:toDisk: with a negative +third argument.

+ +

Using cache key filter

+ +

Sometime, you may not want to use the image URL as cache key because part of the URL is dynamic +(i.e.: for access control purpose). SDWebImageManager provides a way to set a cache key filter that +takes the NSURL as input, and output a cache key NSString.

+ +

The following example sets a filter in the application delegate that will remove any query-string from +the URL before to use it as a cache key:

+ +

```objective-c +– (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions +{

+ +
SDWebImageManager.sharedManager.cacheKeyFilter:^(NSURL *url)
+{
+    url = [[[NSURL alloc] initWithScheme:url.scheme host:url.host path:url.path] autorelease];
+    return [url absoluteString];
+};
+
+// Your app init code...
+return YES;
+
+ +

} +```

+ +

Common Problems

+ +

Using dynamic image size with UITableViewCell

+ +

UITableView determins the size of the image by the first image set for a cell. If your remote images +don’t have the same size as your placeholder image, you may experience strange anamorphic scaling issue. +The following article gives a way to workaround this issue:

+ +

http://www.wrichards.com/blog/2011/11/sdwebimage-fixed-width-cell-images/

+ +

Installation

+ +

There are two ways to use this in your project: copy all the files into your project, or import the project as a static library.

+ +

Add the SDWebImage project to your project

+ +
    +
  • Download and unzip the last version of the framework from the download page
  • +
  • Right-click on the project navigator and select “Add Files to "Your Project”:
  • +
  • In the dialog, select SDWebImage.framework:
  • +
  • Check the “Copy items into destination group’s folder (if needed)” checkbox
  • +
+ + +

Add dependencies

+ +
    +
  • In you application project app’s target settings, find the “Build Phases” section and open the “Link Binary With Libraries” block:
  • +
  • Click the “+” button again and select the “ImageIO.framework”, this is needed by the progressive download feature:
  • +
+ + +

Add Linker Flag

+ +

Open the “Build Settings” tab, in the “Linking” section, locate the “Other Linker Flags” setting and add the “-ObjC” flag:

+ +

Other Linker Flags_other_linker_flags.jpg)

+ +

Import headers in your source files

+ +

In the source files where you need to use the library, import the header file:

+ +

```objective-c

+ +

import <SDWebImage/UIImageView+WebCache.h>

+ +

```

+ +

Build Project

+ +

At this point your workspace should build without error. If you are having problem, post to the Issue and the +community can help you solve it.

+ +

Future Enhancements

+ +
    +
  • LRU memory cache cleanup instead of reset on memory warning
  • +
+ + +

Licenses

+ +

All source code is licensed under the MIT License.

+ + +
+ + + + + + + + + +
+ +

Protocol References

+ + + +

Category References

+ + +
+ +
+ + +
+
+ + \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Headers/SDWebImage/MKAnnotationView+WebCache.h b/RETableViewManagerExample/Pods/Headers/SDWebImage/MKAnnotationView+WebCache.h new file mode 120000 index 0000000..a1007a9 --- /dev/null +++ b/RETableViewManagerExample/Pods/Headers/SDWebImage/MKAnnotationView+WebCache.h @@ -0,0 +1 @@ +../../SDWebImage/SDWebImage/MKAnnotationView+WebCache.h \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Headers/SDWebImage/SDImageCache.h b/RETableViewManagerExample/Pods/Headers/SDWebImage/SDImageCache.h new file mode 120000 index 0000000..9893ccc --- /dev/null +++ b/RETableViewManagerExample/Pods/Headers/SDWebImage/SDImageCache.h @@ -0,0 +1 @@ +../../SDWebImage/SDWebImage/SDImageCache.h \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Headers/SDWebImage/SDWebImageCompat.h b/RETableViewManagerExample/Pods/Headers/SDWebImage/SDWebImageCompat.h new file mode 120000 index 0000000..088c749 --- /dev/null +++ b/RETableViewManagerExample/Pods/Headers/SDWebImage/SDWebImageCompat.h @@ -0,0 +1 @@ +../../SDWebImage/SDWebImage/SDWebImageCompat.h \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Headers/SDWebImage/SDWebImageDecoder.h b/RETableViewManagerExample/Pods/Headers/SDWebImage/SDWebImageDecoder.h new file mode 120000 index 0000000..b4d0b05 --- /dev/null +++ b/RETableViewManagerExample/Pods/Headers/SDWebImage/SDWebImageDecoder.h @@ -0,0 +1 @@ +../../SDWebImage/SDWebImage/SDWebImageDecoder.h \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Headers/SDWebImage/SDWebImageDownloader.h b/RETableViewManagerExample/Pods/Headers/SDWebImage/SDWebImageDownloader.h new file mode 120000 index 0000000..501f4ff --- /dev/null +++ b/RETableViewManagerExample/Pods/Headers/SDWebImage/SDWebImageDownloader.h @@ -0,0 +1 @@ +../../SDWebImage/SDWebImage/SDWebImageDownloader.h \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Headers/SDWebImage/SDWebImageDownloaderOperation.h b/RETableViewManagerExample/Pods/Headers/SDWebImage/SDWebImageDownloaderOperation.h new file mode 120000 index 0000000..a864736 --- /dev/null +++ b/RETableViewManagerExample/Pods/Headers/SDWebImage/SDWebImageDownloaderOperation.h @@ -0,0 +1 @@ +../../SDWebImage/SDWebImage/SDWebImageDownloaderOperation.h \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Headers/SDWebImage/SDWebImageManager.h b/RETableViewManagerExample/Pods/Headers/SDWebImage/SDWebImageManager.h new file mode 120000 index 0000000..f9d2aa2 --- /dev/null +++ b/RETableViewManagerExample/Pods/Headers/SDWebImage/SDWebImageManager.h @@ -0,0 +1 @@ +../../SDWebImage/SDWebImage/SDWebImageManager.h \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Headers/SDWebImage/SDWebImageOperation.h b/RETableViewManagerExample/Pods/Headers/SDWebImage/SDWebImageOperation.h new file mode 120000 index 0000000..a0769c4 --- /dev/null +++ b/RETableViewManagerExample/Pods/Headers/SDWebImage/SDWebImageOperation.h @@ -0,0 +1 @@ +../../SDWebImage/SDWebImage/SDWebImageOperation.h \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Headers/SDWebImage/SDWebImagePrefetcher.h b/RETableViewManagerExample/Pods/Headers/SDWebImage/SDWebImagePrefetcher.h new file mode 120000 index 0000000..fcc0b60 --- /dev/null +++ b/RETableViewManagerExample/Pods/Headers/SDWebImage/SDWebImagePrefetcher.h @@ -0,0 +1 @@ +../../SDWebImage/SDWebImage/SDWebImagePrefetcher.h \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Headers/SDWebImage/UIButton+WebCache.h b/RETableViewManagerExample/Pods/Headers/SDWebImage/UIButton+WebCache.h new file mode 120000 index 0000000..5586e49 --- /dev/null +++ b/RETableViewManagerExample/Pods/Headers/SDWebImage/UIButton+WebCache.h @@ -0,0 +1 @@ +../../SDWebImage/SDWebImage/UIButton+WebCache.h \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Headers/SDWebImage/UIImageView+WebCache.h b/RETableViewManagerExample/Pods/Headers/SDWebImage/UIImageView+WebCache.h new file mode 120000 index 0000000..336b44b --- /dev/null +++ b/RETableViewManagerExample/Pods/Headers/SDWebImage/UIImageView+WebCache.h @@ -0,0 +1 @@ +../../SDWebImage/SDWebImage/UIImageView+WebCache.h \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Pods-Acknowledgements.markdown b/RETableViewManagerExample/Pods/Pods-Acknowledgements.markdown new file mode 100644 index 0000000..35f0c60 --- /dev/null +++ b/RETableViewManagerExample/Pods/Pods-Acknowledgements.markdown @@ -0,0 +1,27 @@ +# Acknowledgements +This application makes use of the following third party libraries: + +## SDWebImage + +Copyright (c) 2009 Olivier Poitrey + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +Generated by CocoaPods - http://cocoapods.org diff --git a/RETableViewManagerExample/Pods/Pods-Acknowledgements.plist b/RETableViewManagerExample/Pods/Pods-Acknowledgements.plist new file mode 100644 index 0000000..dc43d36 --- /dev/null +++ b/RETableViewManagerExample/Pods/Pods-Acknowledgements.plist @@ -0,0 +1,57 @@ + + + + + PreferenceSpecifiers + + + FooterText + This application makes use of the following third party libraries: + Title + Acknowledgements + Type + PSGroupSpecifier + + + FooterText + Copyright (c) 2009 Olivier Poitrey <rs@dailymotion.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + + Title + SDWebImage + Type + PSGroupSpecifier + + + FooterText + Generated by CocoaPods - http://cocoapods.org + Title + + Type + PSGroupSpecifier + + + StringsTable + Acknowledgements + Title + Acknowledgements + + diff --git a/RETableViewManagerExample/Pods/Pods-prefix.pch b/RETableViewManagerExample/Pods/Pods-prefix.pch new file mode 100644 index 0000000..ad7a180 --- /dev/null +++ b/RETableViewManagerExample/Pods/Pods-prefix.pch @@ -0,0 +1,3 @@ +#ifdef __OBJC__ +#import +#endif diff --git a/RETableViewManagerExample/Pods/Pods-resources.sh b/RETableViewManagerExample/Pods/Pods-resources.sh new file mode 100755 index 0000000..872e170 --- /dev/null +++ b/RETableViewManagerExample/Pods/Pods-resources.sh @@ -0,0 +1,27 @@ +#!/bin/sh + +install_resource() +{ + case $1 in + *.storyboard) + echo "ibtool --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc ${PODS_ROOT}/$1 --sdk ${SDKROOT}" + ibtool --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" + ;; + *.xib) + echo "ibtool --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}" + ibtool --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" + ;; + *.framework) + echo "rsync -rp ${PODS_ROOT}/$1 ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + rsync -rp "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + ;; + *.xcdatamodeld) + echo "xcrun momc ${PODS_ROOT}/$1 ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename $1 .xcdatamodeld`.momd" + xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename $1 .xcdatamodeld`.momd" + ;; + *) + echo "cp -R ${PODS_ROOT}/$1 ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + cp -R "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + ;; + esac +} diff --git a/RETableViewManagerExample/Pods/Pods.xcconfig b/RETableViewManagerExample/Pods/Pods.xcconfig new file mode 100644 index 0000000..4794df6 --- /dev/null +++ b/RETableViewManagerExample/Pods/Pods.xcconfig @@ -0,0 +1,7 @@ +ALWAYS_SEARCH_USER_PATHS = YES +HEADER_SEARCH_PATHS = ${PODS_HEADERS_SEARCH_PATHS} +OTHER_LDFLAGS = -ObjC -framework ImageIO -framework MapKit +PODS_BUILD_HEADERS_SEARCH_PATHS = "${PODS_ROOT}/BuildHeaders" "${PODS_ROOT}/BuildHeaders/SDWebImage" +PODS_HEADERS_SEARCH_PATHS = ${PODS_PUBLIC_HEADERS_SEARCH_PATHS} +PODS_PUBLIC_HEADERS_SEARCH_PATHS = "${PODS_ROOT}/Headers" "${PODS_ROOT}/Headers/SDWebImage" +PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/RETableViewManagerExample/Pods/Pods.xcodeproj/project.pbxproj b/RETableViewManagerExample/Pods/Pods.xcodeproj/project.pbxproj new file mode 100644 index 0000000..5793b07 --- /dev/null +++ b/RETableViewManagerExample/Pods/Pods.xcodeproj/project.pbxproj @@ -0,0 +1,1064 @@ + + + + + archiveVersion + 1 + classes + + objectVersion + 46 + objects + + 008CE3DC1E664072B14ADD1D + + fileRef + 286FAFAD9A0A487F9358BCE5 + isa + PBXBuildFile + settings + + + 00BBD8A5267542F79874D4C1 + + children + + 8F62D234030543A2896B61FC + 92D3C91E98CA4D7293BAFE7F + + isa + PBXGroup + name + Targets Support Files + sourceTree + <group> + + 03F935667A014E39B0CDB038 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + SDWebImageOperation.h + path + SDWebImage/SDWebImage/SDWebImageOperation.h + sourceTree + SOURCE_ROOT + + 0B826BEE223D484BA5AB8E92 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + SDWebImagePrefetcher.m + path + SDWebImage/SDWebImage/SDWebImagePrefetcher.m + sourceTree + SOURCE_ROOT + + 0D29B928699049E6920E9F13 + + fileRef + C576F9ED8BD64035979D0323 + isa + PBXBuildFile + settings + + COMPILER_FLAGS + -fobjc-arc -DOS_OBJECT_USE_OBJC=0 + + + 0DE727EB81CC450A8C460ABF + + baseConfigurationReference + F173505387944A2781D2ADF4 + buildSettings + + ALWAYS_SEARCH_USER_PATHS + NO + ARCHS + $(ARCHS_STANDARD_32_BIT) + COPY_PHASE_STRIP + NO + DSTROOT + /tmp/xcodeproj.dst + GCC_C_LANGUAGE_STANDARD + gnu99 + GCC_DYNAMIC_NO_PIC + NO + GCC_OPTIMIZATION_LEVEL + 0 + GCC_PRECOMPILE_PREFIX_HEADER + YES + GCC_PREFIX_HEADER + Pods-prefix.pch + GCC_PREPROCESSOR_DEFINITIONS + + DEBUG=1 + $(inherited) + + GCC_SYMBOLS_PRIVATE_EXTERN + NO + GCC_VERSION + com.apple.compilers.llvm.clang.1_0 + GCC_WARN_INHIBIT_ALL_WARNINGS + NO + INSTALL_PATH + $(BUILT_PRODUCTS_DIR) + IPHONEOS_DEPLOYMENT_TARGET + 5.0 + OTHER_LDFLAGS + + PODS_HEADERS_SEARCH_PATHS + ${PODS_BUILD_HEADERS_SEARCH_PATHS} + PODS_ROOT + ${SRCROOT} + PRODUCT_NAME + $(TARGET_NAME) + PUBLIC_HEADERS_FOLDER_PATH + $(TARGET_NAME) + SDKROOT + iphoneos + SKIP_INSTALL + YES + + isa + XCBuildConfiguration + name + Debug + + 2623B9F48E4D4DDB8845047C + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + SDWebImageDecoder.h + path + SDWebImage/SDWebImage/SDWebImageDecoder.h + sourceTree + SOURCE_ROOT + + 2841AD1BE1734D018820E17A + + children + + 63BA17954E014468BEE07230 + + isa + PBXGroup + name + Pods + sourceTree + <group> + + 286FAFAD9A0A487F9358BCE5 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + SDWebImageCompat.h + path + SDWebImage/SDWebImage/SDWebImageCompat.h + sourceTree + SOURCE_ROOT + + 28B7207989F94E1EAEB6D4E8 + + buildConfigurations + + D5CE879847AC4921B46F7C03 + 0DE727EB81CC450A8C460ABF + + defaultConfigurationIsVisible + 0 + defaultConfigurationName + Release + isa + XCConfigurationList + + 2A6E501FCC204114A6B2F73C + + fileRef + C34316097CA54AD38A9C85E9 + isa + PBXBuildFile + settings + + + 2BB1E14CD5C2497BB8235035 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + UIImageView+WebCache.m + path + SDWebImage/SDWebImage/UIImageView+WebCache.m + sourceTree + SOURCE_ROOT + + 34520C204415431E85A8A705 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + SDWebImageDownloaderOperation.h + path + SDWebImage/SDWebImage/SDWebImageDownloaderOperation.h + sourceTree + SOURCE_ROOT + + 355C494C1650405E891FDEDA + + includeInIndex + 1 + isa + PBXFileReference + name + Pods-prefix.pch + path + Pods-prefix.pch + sourceTree + SOURCE_ROOT + + 39CA0A4D829D4E17A71739D9 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + SDImageCache.h + path + SDWebImage/SDWebImage/SDImageCache.h + sourceTree + SOURCE_ROOT + + 3A2B75E7EB4E4B6BB6CBAD96 + + fileRef + 34520C204415431E85A8A705 + isa + PBXBuildFile + settings + + + 3A485360353C46E49F91051C + + fileRef + F719419DB9A64506A0129F5F + isa + PBXBuildFile + settings + + COMPILER_FLAGS + -fobjc-arc -DOS_OBJECT_USE_OBJC=0 + + + 3BE76F09B9C4487680A9BBCD + + buildActionMask + 2147483647 + files + + F18321C439CA4F73B5B79F0E + 008CE3DC1E664072B14ADD1D + C579DC05295A46598810017B + E91A0279CCDB4F949E94A213 + 3A2B75E7EB4E4B6BB6CBAD96 + 7CF0BFAEB01F4FD19DB08DC9 + F3E9D311AD9E4309B4E52BD3 + BBCDBB61721C4C2C8E497459 + F57AA4395868451EBEE64919 + 2A6E501FCC204114A6B2F73C + A4D7009FE73A4A259A2C42DB + + isa + PBXHeadersBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 3C0DEE78DBD6487A8DE0F0AB + + buildConfigurationList + 28B7207989F94E1EAEB6D4E8 + buildPhases + + FFF4A1C8F77F41D9A91E3A19 + DCBFDE08C3924808A2985E02 + 3BE76F09B9C4487680A9BBCD + + buildRules + + dependencies + + isa + PBXNativeTarget + name + Pods + productName + Pods + productReference + 993144B96FB64384BAD9D0C3 + productType + com.apple.product-type.library.static + + 4E95CE961530420C8E67B000 + + buildSettings + + isa + XCBuildConfiguration + name + Debug + + 5BDEABBB79294A2EBB2E113B + + fileRef + DB7EC4994F094EE0AED191A0 + isa + PBXBuildFile + settings + + COMPILER_FLAGS + -fobjc-arc -DOS_OBJECT_USE_OBJC=0 + + + 5C25639BB0B444159415F9F2 + + children + + 993144B96FB64384BAD9D0C3 + + isa + PBXGroup + name + Products + sourceTree + <group> + + 5F55FB5553BD440C870CE270 + + attributes + + LastUpgradeCheck + 0450 + + buildConfigurationList + CAFD1C1D0DF1461F8DC11AD5 + compatibilityVersion + Xcode 3.2 + developmentRegion + English + hasScannedForEncodings + 0 + isa + PBXProject + knownRegions + + en + + mainGroup + BAF76AC9E8474063AC389A06 + productRefGroup + 5C25639BB0B444159415F9F2 + projectReferences + + targets + + 3C0DEE78DBD6487A8DE0F0AB + + + 63BA17954E014468BEE07230 + + children + + 39CA0A4D829D4E17A71739D9 + 286FAFAD9A0A487F9358BCE5 + 2623B9F48E4D4DDB8845047C + BFD87FE921C946978A8D6B05 + 34520C204415431E85A8A705 + 6747B0E1F1B341C98258A691 + 03F935667A014E39B0CDB038 + EF11B1287FDB410EA73A3C0F + E34C595271604412AEE84ADA + E5489D15FE394BF0AF9C4E6E + F719419DB9A64506A0129F5F + 880AA0523C224DE9A19799F8 + C576F9ED8BD64035979D0323 + F50E158301C24F089A1FE806 + 0B826BEE223D484BA5AB8E92 + 7ED49CADA9854ADEAE333F82 + C34316097CA54AD38A9C85E9 + DB7EC4994F094EE0AED191A0 + 2BB1E14CD5C2497BB8235035 + 8D526E38A29A413683E1EC4C + + isa + PBXGroup + name + SDWebImage + sourceTree + <group> + + 6747B0E1F1B341C98258A691 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + SDWebImageManager.h + path + SDWebImage/SDWebImage/SDWebImageManager.h + sourceTree + SOURCE_ROOT + + 7436B75589324DF1AB79CCFB + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + MKAnnotationView+WebCache.h + path + SDWebImage/SDWebImage/MKAnnotationView+WebCache.h + sourceTree + SOURCE_ROOT + + 7CF0BFAEB01F4FD19DB08DC9 + + fileRef + 6747B0E1F1B341C98258A691 + isa + PBXBuildFile + settings + + + 7ED49CADA9854ADEAE333F82 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + UIButton+WebCache.h + path + SDWebImage/SDWebImage/UIButton+WebCache.h + sourceTree + SOURCE_ROOT + + 880AA0523C224DE9A19799F8 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + SDWebImageDownloader.m + path + SDWebImage/SDWebImage/SDWebImageDownloader.m + sourceTree + SOURCE_ROOT + + 8D526E38A29A413683E1EC4C + + children + + 7436B75589324DF1AB79CCFB + BF5355E67A7F4FC9B560BAF4 + + isa + PBXGroup + name + MapKit + sourceTree + <group> + + 8D649866E28E4FB6B90779FB + + buildSettings + + isa + XCBuildConfiguration + name + Release + + 8F62D234030543A2896B61FC + + children + + B7A52A1D8F634E87B37191EA + 355C494C1650405E891FDEDA + F173505387944A2781D2ADF4 + + isa + PBXGroup + name + Pods + sourceTree + <group> + + 92D3C91E98CA4D7293BAFE7F + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + PodsDummy_Pods.m + path + PodsDummy_Pods.m + sourceTree + SOURCE_ROOT + + 993144B96FB64384BAD9D0C3 + + explicitFileType + archive.ar + includeInIndex + 0 + isa + PBXFileReference + name + libPods.a + path + libPods.a + sourceTree + BUILT_PRODUCTS_DIR + + A43A87B6126649FA9BFCBB36 + + fileRef + E5489D15FE394BF0AF9C4E6E + isa + PBXBuildFile + settings + + COMPILER_FLAGS + -fobjc-arc -DOS_OBJECT_USE_OBJC=0 + + + A4D7009FE73A4A259A2C42DB + + fileRef + 7436B75589324DF1AB79CCFB + isa + PBXBuildFile + settings + + + AD7D4B80B9364A6D83B37F6C + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + wrapper.framework + name + Foundation.framework + path + Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/System/Library/Frameworks/Foundation.framework + sourceTree + DEVELOPER_DIR + + AF57C2ABCF844983AD704C86 + + fileRef + BF5355E67A7F4FC9B560BAF4 + isa + PBXBuildFile + settings + + COMPILER_FLAGS + -fobjc-arc -DOS_OBJECT_USE_OBJC=0 + + + B7A52A1D8F634E87B37191EA + + includeInIndex + 1 + isa + PBXFileReference + name + Pods-resources.sh + path + Pods-resources.sh + sourceTree + SOURCE_ROOT + + B7DD38B225FC4D718425AB92 + + fileRef + 880AA0523C224DE9A19799F8 + isa + PBXBuildFile + settings + + COMPILER_FLAGS + -fobjc-arc -DOS_OBJECT_USE_OBJC=0 + + + BAF76AC9E8474063AC389A06 + + children + + 5C25639BB0B444159415F9F2 + BCB4BB7358734C40BFB0A726 + 2841AD1BE1734D018820E17A + 00BBD8A5267542F79874D4C1 + + isa + PBXGroup + sourceTree + <group> + + BBCDBB61721C4C2C8E497459 + + fileRef + EF11B1287FDB410EA73A3C0F + isa + PBXBuildFile + settings + + + BCB4BB7358734C40BFB0A726 + + children + + AD7D4B80B9364A6D83B37F6C + + isa + PBXGroup + name + Frameworks + sourceTree + <group> + + BF5355E67A7F4FC9B560BAF4 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + MKAnnotationView+WebCache.m + path + SDWebImage/SDWebImage/MKAnnotationView+WebCache.m + sourceTree + SOURCE_ROOT + + BFD87FE921C946978A8D6B05 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + SDWebImageDownloader.h + path + SDWebImage/SDWebImage/SDWebImageDownloader.h + sourceTree + SOURCE_ROOT + + C06D8DFE9D9647C391B8C07C + + fileRef + E34C595271604412AEE84ADA + isa + PBXBuildFile + settings + + COMPILER_FLAGS + -fobjc-arc -DOS_OBJECT_USE_OBJC=0 + + + C1E8B76E310645C083B386A8 + + fileRef + AD7D4B80B9364A6D83B37F6C + isa + PBXBuildFile + settings + + + C34316097CA54AD38A9C85E9 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + UIImageView+WebCache.h + path + SDWebImage/SDWebImage/UIImageView+WebCache.h + sourceTree + SOURCE_ROOT + + C4F964353D0D49B4B7D4089F + + fileRef + 0B826BEE223D484BA5AB8E92 + isa + PBXBuildFile + settings + + COMPILER_FLAGS + -fobjc-arc -DOS_OBJECT_USE_OBJC=0 + + + C576F9ED8BD64035979D0323 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + SDWebImageDownloaderOperation.m + path + SDWebImage/SDWebImage/SDWebImageDownloaderOperation.m + sourceTree + SOURCE_ROOT + + C579DC05295A46598810017B + + fileRef + 2623B9F48E4D4DDB8845047C + isa + PBXBuildFile + settings + + + CA2578D3D57D42ED91922859 + + fileRef + 2BB1E14CD5C2497BB8235035 + isa + PBXBuildFile + settings + + COMPILER_FLAGS + -fobjc-arc -DOS_OBJECT_USE_OBJC=0 + + + CAFD1C1D0DF1461F8DC11AD5 + + buildConfigurations + + 8D649866E28E4FB6B90779FB + 4E95CE961530420C8E67B000 + + defaultConfigurationIsVisible + 0 + defaultConfigurationName + Release + isa + XCConfigurationList + + D5CE879847AC4921B46F7C03 + + baseConfigurationReference + F173505387944A2781D2ADF4 + buildSettings + + ALWAYS_SEARCH_USER_PATHS + NO + ARCHS + $(ARCHS_STANDARD_32_BIT) + COPY_PHASE_STRIP + YES + DSTROOT + /tmp/xcodeproj.dst + GCC_C_LANGUAGE_STANDARD + gnu99 + GCC_PRECOMPILE_PREFIX_HEADER + YES + GCC_PREFIX_HEADER + Pods-prefix.pch + GCC_VERSION + com.apple.compilers.llvm.clang.1_0 + GCC_WARN_INHIBIT_ALL_WARNINGS + NO + INSTALL_PATH + $(BUILT_PRODUCTS_DIR) + IPHONEOS_DEPLOYMENT_TARGET + 5.0 + OTHER_CFLAGS + + -DNS_BLOCK_ASSERTIONS=1 + $(inherited) + + OTHER_CPLUSPLUSFLAGS + + -DNS_BLOCK_ASSERTIONS=1 + $(inherited) + + OTHER_LDFLAGS + + PODS_HEADERS_SEARCH_PATHS + ${PODS_BUILD_HEADERS_SEARCH_PATHS} + PODS_ROOT + ${SRCROOT} + PRODUCT_NAME + $(TARGET_NAME) + PUBLIC_HEADERS_FOLDER_PATH + $(TARGET_NAME) + SDKROOT + iphoneos + SKIP_INSTALL + YES + VALIDATE_PRODUCT + YES + + isa + XCBuildConfiguration + name + Release + + DB7EC4994F094EE0AED191A0 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + UIButton+WebCache.m + path + SDWebImage/SDWebImage/UIButton+WebCache.m + sourceTree + SOURCE_ROOT + + DCBFDE08C3924808A2985E02 + + buildActionMask + 2147483647 + files + + C1E8B76E310645C083B386A8 + + isa + PBXFrameworksBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + E34C595271604412AEE84ADA + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + SDImageCache.m + path + SDWebImage/SDWebImage/SDImageCache.m + sourceTree + SOURCE_ROOT + + E5489D15FE394BF0AF9C4E6E + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + SDWebImageCompat.m + path + SDWebImage/SDWebImage/SDWebImageCompat.m + sourceTree + SOURCE_ROOT + + E91A0279CCDB4F949E94A213 + + fileRef + BFD87FE921C946978A8D6B05 + isa + PBXBuildFile + settings + + + EDA501678F6F43BC84D0679E + + fileRef + F50E158301C24F089A1FE806 + isa + PBXBuildFile + settings + + COMPILER_FLAGS + -fobjc-arc -DOS_OBJECT_USE_OBJC=0 + + + EF11B1287FDB410EA73A3C0F + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + SDWebImagePrefetcher.h + path + SDWebImage/SDWebImage/SDWebImagePrefetcher.h + sourceTree + SOURCE_ROOT + + F173505387944A2781D2ADF4 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + name + Pods.xcconfig + path + Pods.xcconfig + sourceTree + SOURCE_ROOT + + F18321C439CA4F73B5B79F0E + + fileRef + 39CA0A4D829D4E17A71739D9 + isa + PBXBuildFile + settings + + + F3E9D311AD9E4309B4E52BD3 + + fileRef + 03F935667A014E39B0CDB038 + isa + PBXBuildFile + settings + + + F50E158301C24F089A1FE806 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + SDWebImageManager.m + path + SDWebImage/SDWebImage/SDWebImageManager.m + sourceTree + SOURCE_ROOT + + F57AA4395868451EBEE64919 + + fileRef + 7ED49CADA9854ADEAE333F82 + isa + PBXBuildFile + settings + + + F719419DB9A64506A0129F5F + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + SDWebImageDecoder.m + path + SDWebImage/SDWebImage/SDWebImageDecoder.m + sourceTree + SOURCE_ROOT + + F9C9D859148546CE9BE84DAF + + fileRef + 92D3C91E98CA4D7293BAFE7F + isa + PBXBuildFile + settings + + + FFF4A1C8F77F41D9A91E3A19 + + buildActionMask + 2147483647 + files + + C06D8DFE9D9647C391B8C07C + A43A87B6126649FA9BFCBB36 + 3A485360353C46E49F91051C + B7DD38B225FC4D718425AB92 + 0D29B928699049E6920E9F13 + EDA501678F6F43BC84D0679E + C4F964353D0D49B4B7D4089F + 5BDEABBB79294A2EBB2E113B + CA2578D3D57D42ED91922859 + AF57C2ABCF844983AD704C86 + F9C9D859148546CE9BE84DAF + + isa + PBXSourcesBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + + rootObject + 5F55FB5553BD440C870CE270 + + diff --git a/RETableViewManagerExample/Pods/PodsDummy_Pods.m b/RETableViewManagerExample/Pods/PodsDummy_Pods.m new file mode 100644 index 0000000..99f3235 --- /dev/null +++ b/RETableViewManagerExample/Pods/PodsDummy_Pods.m @@ -0,0 +1,4 @@ +@interface PodsDummy_Pods : NSObject +@end +@implementation PodsDummy_Pods +@end diff --git a/RETableViewManagerExample/Pods/SDWebImage/LICENSE b/RETableViewManagerExample/Pods/SDWebImage/LICENSE new file mode 100644 index 0000000..ae783e1 --- /dev/null +++ b/RETableViewManagerExample/Pods/SDWebImage/LICENSE @@ -0,0 +1,20 @@ +Copyright (c) 2009 Olivier Poitrey + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + diff --git a/RETableViewManagerExample/Pods/SDWebImage/README.md b/RETableViewManagerExample/Pods/SDWebImage/README.md new file mode 100644 index 0000000..588b2a8 --- /dev/null +++ b/RETableViewManagerExample/Pods/SDWebImage/README.md @@ -0,0 +1,239 @@ + +Web Image +========= + +This library provides a category for UIImageVIew with support for remote images coming from the web. + +It provides: + +- An UIImageView category adding web image and cache management to the Cocoa Touch framework +- An asynchronous image downloader +- An asynchronous memory + disk image caching with automatic cache expiration handling +- A background image decompression +- A guarantee that the same URL won't be downloaded several times +- A guarantee that bogus URLs won't be retried again and again +- A guarantee that main thread will never be blocked +- Performances! +- Use GCD and ARC + +NOTE: The version 3.0 of SDWebImage isn't fully backward compatible with 2.0 and requires iOS 5.0 +minimum deployement version. If you need iOS < 5.0 support, please use the last [2.0 version](https://github.com/rs/SDWebImage/tree/2.0-compat). + +[How is SDWebImage better than X?](https://github.com/rs/SDWebImage/wiki/How-is-SDWebImage-better-than-X%3F) + +Who Use It +---------- + +Find out [who use SDWebImage](https://github.com/rs/SDWebImage/wiki/Who-Use-SDWebImage) and add your app to the list. + +How To Use +---------- + +API documentation is available at [http://hackemist.com/SDWebImage/doc/](http://hackemist.com/SDWebImage/doc/) + +### Using UIImageView+WebCache category with UITableView + +Just #import the UIImageView+WebCache.h header, and call the setImageWithURL:placeholderImage: +method from the tableView:cellForRowAtIndexPath: UITableViewDataSource method. Everything will be +handled for you, from async downloads to caching management. + +```objective-c +#import + +... + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath +{ + static NSString *MyIdentifier = @"MyIdentifier"; + + UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier]; + + if (cell == nil) + { + cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault + reuseIdentifier:MyIdentifier] autorelease]; + } + + // Here we use the new provided setImageWithURL: method to load the web image + [cell.imageView setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"] + placeholderImage:[UIImage imageNamed:@"placeholder.png"]]; + + cell.textLabel.text = @"My Text"; + return cell; +} +``` + +### Using blocks + +With blocks, you can be notified about the image download progress and whenever the image retrival +has completed with success or not: + +```objective-c +// Here we use the new provided setImageWithURL: method to load the web image +[cell.imageView setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"] + placeholderImage:[UIImage imageNamed:@"placeholder.png"] + completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType) {... completion code here ...}]; +``` + +Note: neither your success nor failure block will be call if your image request is canceled before completion. + +### Using SDWebImageManager + +The SDWebImageManager is the class behind the UIImageView+WebCache category. It ties the +asynchronous downloader with the image cache store. You can use this class directly to benefit +from web image downloading with caching in another context than a UIView (ie: with Cocoa). + +Here is a simple example of how to use SDWebImageManager: + +```objective-c +SDWebImageManager *manager = [SDWebImageManager sharedManager]; +[manager downloadWithURL:imageURL + options:0 + progress:^(NSUInteger receivedSize, long long expectedSize) + { + // progression tracking code + } + completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType) + { + if (image) + { + // do something with image + } + }]; +``` + +### Using Asynchronous Image Downloader Independently + +It's also possible to use the async image downloader independently: + +```objective-c +[SDWebImageDownloader.sharedDownloader downloadImageWithURL:imageURL + options:0 + progress:^(NSUInteger receivedSize, long long expectedSize) + { + // progression tracking code + } + completed:^(UIImage *image, NSError *error, BOOL finished) + { + if (image && finished) + { + // do something with image + } + }]; +``` + +### Using Asynchronous Image Caching Independently + +It is also possible to use the aync based image cache store independently. SDImageCache +maintains a memory cache and an optional disk cache. Disk cache write operations are performed +asynchronous so it doesn't add unnecessary latency to the UI. + +The SDImageCache class provides a singleton instance for convenience but you can create your own +instance if you want to create separated cache namespace. + +To lookup the cache, you use the imageForKey: method. If the method returns nil, it means the cache +doesn't currently own the image. You are thus responsible for generating and caching it. The cache +key is an application unique identifier for the image to cache. It is generally the absolute URL of +the image. + +```objective-c +SDImageCache *imageCache = [SDImageCache.alloc initWithNamespace:@"myNamespace"]; +[imageCache queryDiskCacheForKey:myCacheKey done:^(UIImage *image) +{ + // image is not nil if image was found +}]; +``` + +By default SDImageCache will lookup the disk cache if an image can't be found in the memory cache. +You can prevent this from happening by calling the alternative method `imageFromMemoryCacheForKey:`. + +To store an image into the cache, you use the storeImage:forKey: method: + +```objective-c +[[SDImageCache sharedImageCache] storeImage:myImage forKey:myCacheKey]; +``` + +By default, the image will be stored in memory cache as well as on disk cache (asynchronously). If +you want only the memory cache, use the alternative method storeImage:forKey:toDisk: with a negative +third argument. + +### Using cache key filter + +Sometime, you may not want to use the image URL as cache key because part of the URL is dynamic +(i.e.: for access control purpose). SDWebImageManager provides a way to set a cache key filter that +takes the NSURL as input, and output a cache key NSString. + +The following example sets a filter in the application delegate that will remove any query-string from +the URL before to use it as a cache key: + +```objective-c +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions +{ + SDWebImageManager.sharedManager.cacheKeyFilter:^(NSURL *url) + { + url = [[[NSURL alloc] initWithScheme:url.scheme host:url.host path:url.path] autorelease]; + return [url absoluteString]; + }; + + // Your app init code... + return YES; +} +``` + + +Common Problems +--------------- + +### Using dynamic image size with UITableViewCell + +UITableView determins the size of the image by the first image set for a cell. If your remote images +don't have the same size as your placeholder image, you may experience strange anamorphic scaling issue. +The following article gives a way to workaround this issue: + +[http://www.wrichards.com/blog/2011/11/sdwebimage-fixed-width-cell-images/](http://www.wrichards.com/blog/2011/11/sdwebimage-fixed-width-cell-images/) + + +Installation +------------ + +There are two ways to use this in your project: copy all the files into your project, or import the project as a static library. + +### Add the SDWebImage project to your project + +- Download and unzip the last version of the framework from the [download page](https://github.com/rs/SDWebImage/wiki/Download-Complied-Framework) +- Right-click on the project navigator and select "Add Files to "Your Project": +- In the dialog, select SDWebImage.framework: +- Check the "Copy items into destination group's folder (if needed)" checkbox + +### Add dependencies + +- In you application project app’s target settings, find the "Build Phases" section and open the "Link Binary With Libraries" block: +- Click the "+" button again and select the "ImageIO.framework", this is needed by the progressive download feature: + +### Add Linker Flag + +Open the "Build Settings" tab, in the "Linking" section, locate the "Other Linker Flags" setting and add the "-ObjC" flag: + +![Other Linker Flags](http://dl.dropbox.com/u/123346/SDWebImage/10_other_linker_flags.jpg) + +### Import headers in your source files + +In the source files where you need to use the library, import the header file: + +```objective-c +#import +``` + +### Build Project + +At this point your workspace should build without error. If you are having problem, post to the Issue and the +community can help you solve it. + +Future Enhancements +------------------- + +- LRU memory cache cleanup instead of reset on memory warning + +## Licenses + +All source code is licensed under the [MIT License](https://raw.github.com/rs/SDWebImage/master/LICENSE). diff --git a/RETableViewManagerExample/Pods/SDWebImage/SDWebImage.podspec b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage.podspec new file mode 100644 index 0000000..70df994 --- /dev/null +++ b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage.podspec @@ -0,0 +1,28 @@ +Pod::Spec.new do |s| + s.name = 'SDWebImage' + s.version = '3.2' + s.platform = :ios, '5.0' + s.license = 'MIT' + s.summary = 'Asynchronous image downloader with cache support with an UIImageView category.' + s.homepage = 'https://github.com/rs/SDWebImage' + s.author = { 'Olivier Poitrey' => 'rs@dailymotion.com' } + s.source = { :git => 'https://github.com/rs/SDWebImage.git', :tag => '3.2' } + + s.description = 'This library provides a category for UIImageVIew with support for remote ' \ + 'images coming from the web. It provides an UIImageView category adding web ' \ + 'image and cache management to the Cocoa Touch framework, an asynchronous ' \ + 'image downloader, an asynchronous memory + disk image caching with automatic ' \ + 'cache expiration handling, a guarantee that the same URL won\'t be downloaded ' \ + 'several times, a guarantee that bogus URLs won\'t be retried again and again, ' \ + 'and performances!' + + s.requires_arc = true + s.source_files = 'SDWebImage/{SD,UI}*.{h,m}' + s.framework = 'ImageIO' + + # TODO currently CocoaPods always tries to install the subspec even if the dependency is on just 'SDWebImage' + s.subspec 'MapKit' do |mk| + mk.source_files = 'SDWebImage/MKAnnotationView+WebCache.*' + mk.framework = 'MapKit' + end +end diff --git a/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/MKAnnotationView+WebCache.h b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/MKAnnotationView+WebCache.h new file mode 100644 index 0000000..fca8df0 --- /dev/null +++ b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/MKAnnotationView+WebCache.h @@ -0,0 +1,95 @@ +// +// MKAnnotationView+WebCache.h +// SDWebImage +// +// Created by Olivier Poitrey on 14/03/12. +// Copyright (c) 2012 Dailymotion. All rights reserved. +// + +#import "MapKit/MapKit.h" +#import "SDWebImageManager.h" + +/** + * Integrates SDWebImage async downloading and caching of remote images with MKAnnotationView. + */ +@interface MKAnnotationView (WebCache) + +/** + * Set the imageView `image` with an `url`. + * + * The downloand is asynchronous and cached. + * + * @param url The url for the image. + */ +- (void)setImageWithURL:(NSURL *)url; + +/** + * Set the imageView `image` with an `url` and a placeholder. + * + * The downloand is asynchronous and cached. + * + * @param url The url for the image. + * @param placeholder The image to be set initially, until the image request finishes. + * @see setImageWithURL:placeholderImage:options: + */ +- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder; + +/** + * Set the imageView `image` with an `url`, placeholder and custom options. + * + * The downloand is asynchronous and cached. + * + * @param url The url for the image. + * @param placeholder The image to be set initially, until the image request finishes. + * @param options The options to use when downloading the image. @see SDWebImageOptions for the possible values. + */ +- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options; + +/** + * Set the imageView `image` with an `url`. + * + * The downloand is asynchronous and cached. + * + * @param url The url for the image. + * @param completedBlock A block called when operation has been completed. This block as no return value + * and takes the requested UIImage as first parameter. In case of error the image parameter + * is nil and the second parameter may contain an NSError. The third parameter is a Boolean + * indicating if the image was retrived from the local cache of from the network. + */ +- (void)setImageWithURL:(NSURL *)url completed:(SDWebImageCompletedBlock)completedBlock; + +/** + * Set the imageView `image` with an `url`, placeholder. + * + * The downloand is asynchronous and cached. + * + * @param url The url for the image. + * @param placeholder The image to be set initially, until the image request finishes. + * @param completedBlock A block called when operation has been completed. This block as no return value + * and takes the requested UIImage as first parameter. In case of error the image parameter + * is nil and the second parameter may contain an NSError. The third parameter is a Boolean + * indicating if the image was retrived from the local cache of from the network. + */ +- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder completed:(SDWebImageCompletedBlock)completedBlock; + +/** + * Set the imageView `image` with an `url`, placeholder and custom options. + * + * The downloand is asynchronous and cached. + * + * @param url The url for the image. + * @param placeholder The image to be set initially, until the image request finishes. + * @param options The options to use when downloading the image. @see SDWebImageOptions for the possible values. + * @param completedBlock A block called when operation has been completed. This block as no return value + * and takes the requested UIImage as first parameter. In case of error the image parameter + * is nil and the second parameter may contain an NSError. The third parameter is a Boolean + * indicating if the image was retrived from the local cache of from the network. + */ +- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options completed:(SDWebImageCompletedBlock)completedBlock; + +/** + * Cancel the current download + */ +- (void)cancelCurrentImageLoad; + +@end diff --git a/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/MKAnnotationView+WebCache.m b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/MKAnnotationView+WebCache.m new file mode 100644 index 0000000..8f27a17 --- /dev/null +++ b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/MKAnnotationView+WebCache.m @@ -0,0 +1,78 @@ +// +// MKAnnotationView+WebCache.m +// SDWebImage +// +// Created by Olivier Poitrey on 14/03/12. +// Copyright (c) 2012 Dailymotion. All rights reserved. +// + +#import "MKAnnotationView+WebCache.h" +#import "objc/runtime.h" + +static char operationKey; + +@implementation MKAnnotationView (WebCache) + +- (void)setImageWithURL:(NSURL *)url +{ + [self setImageWithURL:url placeholderImage:nil options:0 completed:nil]; +} + +- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder +{ + [self setImageWithURL:url placeholderImage:placeholder options:0 completed:nil]; +} + +- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options +{ + [self setImageWithURL:url placeholderImage:placeholder options:options completed:nil]; +} + +- (void)setImageWithURL:(NSURL *)url completed:(SDWebImageCompletedBlock)completedBlock +{ + [self setImageWithURL:url placeholderImage:nil options:0 completed:completedBlock]; +} + +- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder completed:(SDWebImageCompletedBlock)completedBlock +{ + [self setImageWithURL:url placeholderImage:placeholder options:0 completed:completedBlock]; +} + +- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options completed:(SDWebImageCompletedBlock)completedBlock +{ + [self cancelCurrentImageLoad]; + + self.image = placeholder; + + if (url) + { + __weak MKAnnotationView *wself = self; + id operation = [SDWebImageManager.sharedManager downloadWithURL:url options:options progress:nil completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished) + { + __strong MKAnnotationView *sself = wself; + if (!sself) return; + if (image) + { + sself.image = image; + } + if (completedBlock && finished) + { + completedBlock(image, error, cacheType); + } + }]; + objc_setAssociatedObject(self, &operationKey, operation, OBJC_ASSOCIATION_RETAIN_NONATOMIC); + } +} + +- (void)cancelCurrentImageLoad +{ + // Cancel in progress downloader from queue + id operation = objc_getAssociatedObject(self, &operationKey); + if (operation) + { + [operation cancel]; + objc_setAssociatedObject(self, &operationKey, nil, OBJC_ASSOCIATION_RETAIN_NONATOMIC); + } +} + +@end diff --git a/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDImageCache.h b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDImageCache.h new file mode 100644 index 0000000..bd67a04 --- /dev/null +++ b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDImageCache.h @@ -0,0 +1,144 @@ +/* + * This file is part of the SDWebImage package. + * (c) Olivier Poitrey + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +#import +#import "SDWebImageCompat.h" + +enum SDImageCacheType +{ + /** + * The image wasn't available the SDWebImage caches, but was downloaded from the web. + */ + SDImageCacheTypeNone = 0, + /** + * The image was obtained from the disk cache. + */ + SDImageCacheTypeDisk, + /** + * The image was obtained from the disk cache. + */ + SDImageCacheTypeMemory +}; +typedef enum SDImageCacheType SDImageCacheType; + +/** + * SDImageCache maintains a memory cache and an optional disk cache. Disk cache write operations are performed + * asynchronous so it doesn’t add unnecessary latency to the UI. + */ +@interface SDImageCache : NSObject + +/** + * The maximum length of time to keep an image in the cache, in seconds + */ +@property (assign, nonatomic) NSInteger maxCacheAge; + +/** + * Returns global shared cache instance + * + * @return SDImageCache global instance + */ ++ (SDImageCache *)sharedImageCache; + +/** + * Init a new cache store with a specific namespace + * + * @param ns The namespace to use for this cache store + */ +- (id)initWithNamespace:(NSString *)ns; + +/** + * Store an image into memory and disk cache at the given key. + * + * @param image The image to store + * @param key The unique image cache key, usually it's image absolute URL + */ +- (void)storeImage:(UIImage *)image forKey:(NSString *)key; + +/** + * Store an image into memory and optionally disk cache at the given key. + * + * @param image The image to store + * @param key The unique image cache key, usually it's image absolute URL + * @param toDisk Store the image to disk cache if YES + */ +- (void)storeImage:(UIImage *)image forKey:(NSString *)key toDisk:(BOOL)toDisk; + +/** + * Store an image into memory and optionally disk cache at the given key. + * + * @param image The image to store + * @param data The image data as returned by the server, this representation will be used for disk storage + * instead of converting the given image object into a storable/compressed image format in order + * to save quality and CPU + * @param key The unique image cache key, usually it's image absolute URL + * @param toDisk Store the image to disk cache if YES + */ +- (void)storeImage:(UIImage *)image imageData:(NSData *)data forKey:(NSString *)key toDisk:(BOOL)toDisk; + +/** + * Query the disk cache asynchronousely. + * + * @param key The unique key used to store the wanted image + */ +- (void)queryDiskCacheForKey:(NSString *)key done:(void (^)(UIImage *image, SDImageCacheType cacheType))doneBlock; + +/** + * Query the memory cache. + * + * @param key The unique key used to store the wanted image + */ +- (UIImage *)imageFromMemoryCacheForKey:(NSString *)key; + +/** + * Query the disk cache synchronousely. + * + * @param key The unique key used to store the wanted image + */ +- (UIImage *)imageFromDiskCacheForKey:(NSString *)key; + +/** + * Remove the image from memory and disk cache synchronousely + * + * @param key The unique image cache key + */ +- (void)removeImageForKey:(NSString *)key; + +/** + * Remove the image from memory and optionaly disk cache synchronousely + * + * @param key The unique image cache key + * @param fromDisk Also remove cache entry from disk if YES + */ +- (void)removeImageForKey:(NSString *)key fromDisk:(BOOL)fromDisk; + +/** + * Clear all memory cached images + */ +- (void)clearMemory; + +/** + * Clear all disk cached images + */ +- (void)clearDisk; + +/** + * Remove all expired cached image from disk + */ +- (void)cleanDisk; + +/** + * Get the size used by the disk cache + */ +- (int)getSize; + +/** + * Get the number of images in the disk cache + */ +- (int)getDiskCount; + +@end diff --git a/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDImageCache.m b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDImageCache.m new file mode 100644 index 0000000..8a5bc61 --- /dev/null +++ b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDImageCache.m @@ -0,0 +1,312 @@ +/* + * This file is part of the SDWebImage package. + * (c) Olivier Poitrey + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +#import "SDImageCache.h" +#import "SDWebImageDecoder.h" +#import +#import "SDWebImageDecoder.h" +#import +#import + +static const NSInteger kDefaultCacheMaxCacheAge = 60 * 60 * 24 * 7; // 1 week + +@interface SDImageCache () + +@property (strong, nonatomic) NSCache *memCache; +@property (strong, nonatomic) NSString *diskCachePath; +@property (SDDispatchQueueSetterSementics, nonatomic) dispatch_queue_t ioQueue; + +@end + + +@implementation SDImageCache + ++ (SDImageCache *)sharedImageCache +{ + static dispatch_once_t once; + static id instance; + dispatch_once(&once, ^{instance = self.new;}); + return instance; +} + +- (id)init +{ + return [self initWithNamespace:@"default"]; +} + +- (id)initWithNamespace:(NSString *)ns +{ + if ((self = [super init])) + { + NSString *fullNamespace = [@"com.hackemist.SDWebImageCache." stringByAppendingString:ns]; + + // Create IO serial queue + _ioQueue = dispatch_queue_create("com.hackemist.SDWebImageCache", DISPATCH_QUEUE_SERIAL); + + // Init default values + _maxCacheAge = kDefaultCacheMaxCacheAge; + + // Init the memory cache + _memCache = [[NSCache alloc] init]; + _memCache.name = fullNamespace; + + // Init the disk cache + NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); + _diskCachePath = [paths[0] stringByAppendingPathComponent:fullNamespace]; + +#if TARGET_OS_IPHONE + // Subscribe to app events + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(clearMemory) + name:UIApplicationDidReceiveMemoryWarningNotification + object:nil]; + + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(cleanDisk) + name:UIApplicationWillTerminateNotification + object:nil]; +#endif + } + + return self; +} + +- (void)dealloc +{ + [[NSNotificationCenter defaultCenter] removeObserver:self]; + SDDispatchQueueRelease(_ioQueue); +} + +#pragma mark SDImageCache (private) + +- (NSString *)cachePathForKey:(NSString *)key +{ + const char *str = [key UTF8String]; + unsigned char r[CC_MD5_DIGEST_LENGTH]; + CC_MD5(str, (CC_LONG)strlen(str), r); + NSString *filename = [NSString stringWithFormat:@"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x", + r[0], r[1], r[2], r[3], r[4], r[5], r[6], r[7], r[8], r[9], r[10], r[11], r[12], r[13], r[14], r[15]]; + + return [self.diskCachePath stringByAppendingPathComponent:filename]; +} + +#pragma mark ImageCache + +- (void)storeImage:(UIImage *)image imageData:(NSData *)imageData forKey:(NSString *)key toDisk:(BOOL)toDisk +{ + if (!image || !key) + { + return; + } + + [self.memCache setObject:image forKey:key cost:image.size.height * image.size.width * image.scale]; + + if (toDisk) + { + dispatch_async(self.ioQueue, ^ + { + NSData *data = imageData; + + if (!data) + { + if (image) + { +#if TARGET_OS_IPHONE + data = UIImageJPEGRepresentation(image, (CGFloat)1.0); +#else + data = [NSBitmapImageRep representationOfImageRepsInArray:image.representations usingType: NSJPEGFileType properties:nil]; +#endif + } + } + + if (data) + { + // Can't use defaultManager another thread + NSFileManager *fileManager = NSFileManager.new; + + if (![fileManager fileExistsAtPath:_diskCachePath]) + { + [fileManager createDirectoryAtPath:_diskCachePath withIntermediateDirectories:YES attributes:nil error:NULL]; + } + + [fileManager createFileAtPath:[self cachePathForKey:key] contents:data attributes:nil]; + } + }); + } +} + +- (void)storeImage:(UIImage *)image forKey:(NSString *)key +{ + [self storeImage:image imageData:nil forKey:key toDisk:YES]; +} + +- (void)storeImage:(UIImage *)image forKey:(NSString *)key toDisk:(BOOL)toDisk +{ + [self storeImage:image imageData:nil forKey:key toDisk:toDisk]; +} + +- (UIImage *)imageFromMemoryCacheForKey:(NSString *)key +{ + return [self.memCache objectForKey:key]; +} + +- (UIImage *)imageFromDiskCacheForKey:(NSString *)key +{ + // First check the in-memory cache... + UIImage *image = [self imageFromMemoryCacheForKey:key]; + if (image) + { + return image; + } + + // Second check the disk cache... + UIImage *diskImage = [UIImage decodedImageWithImage:SDScaledImageForPath(key, [NSData dataWithContentsOfFile:[self cachePathForKey:key]])]; + + if (diskImage) + { + CGFloat cost = diskImage.size.height * diskImage.size.width * diskImage.scale; + [self.memCache setObject:diskImage forKey:key cost:cost]; + } + + return diskImage; +} + +- (void)queryDiskCacheForKey:(NSString *)key done:(void (^)(UIImage *image, SDImageCacheType cacheType))doneBlock +{ + if (!doneBlock) return; + + if (!key) + { + doneBlock(nil, SDImageCacheTypeNone); + return; + } + + // First check the in-memory cache... + UIImage *image = [self imageFromMemoryCacheForKey:key]; + if (image) + { + doneBlock(image, SDImageCacheTypeMemory); + return; + } + + dispatch_async(self.ioQueue, ^ + { + UIImage *diskImage = [UIImage decodedImageWithImage:SDScaledImageForPath(key, [NSData dataWithContentsOfFile:[self cachePathForKey:key]])]; + + if (diskImage) + { + CGFloat cost = diskImage.size.height * diskImage.size.width * diskImage.scale; + [self.memCache setObject:diskImage forKey:key cost:cost]; + } + + dispatch_async(dispatch_get_main_queue(), ^ + { + doneBlock(diskImage, SDImageCacheTypeDisk); + }); + }); +} + +- (void)removeImageForKey:(NSString *)key +{ + [self removeImageForKey:key fromDisk:YES]; +} + +- (void)removeImageForKey:(NSString *)key fromDisk:(BOOL)fromDisk +{ + if (key == nil) + { + return; + } + + [self.memCache removeObjectForKey:key]; + + if (fromDisk) + { + dispatch_async(self.ioQueue, ^ + { + [[NSFileManager defaultManager] removeItemAtPath:[self cachePathForKey:key] error:nil]; + }); + } +} + +- (void)clearMemory +{ + [self.memCache removeAllObjects]; +} + +- (void)clearDisk +{ + dispatch_async(self.ioQueue, ^ + { + [[NSFileManager defaultManager] removeItemAtPath:self.diskCachePath error:nil]; + [[NSFileManager defaultManager] createDirectoryAtPath:self.diskCachePath + withIntermediateDirectories:YES + attributes:nil + error:NULL]; + }); +} + +- (void)cleanDisk +{ + dispatch_async(self.ioQueue, ^ + { + NSDate *expirationDate = [NSDate dateWithTimeIntervalSinceNow:-self.maxCacheAge]; + // convert NSString path to NSURL path + NSURL *diskCacheURL = [NSURL fileURLWithPath:self.diskCachePath isDirectory:YES]; + // build an enumerator by also prefetching file properties we want to read + NSDirectoryEnumerator *fileEnumerator = [[NSFileManager defaultManager] enumeratorAtURL:diskCacheURL + includingPropertiesForKeys:@[ NSURLIsDirectoryKey, NSURLContentModificationDateKey ] + options:NSDirectoryEnumerationSkipsHiddenFiles + errorHandler:NULL]; + for (NSURL *fileURL in fileEnumerator) + { + // skip folder + NSNumber *isDirectory; + [fileURL getResourceValue:&isDirectory forKey:NSURLIsDirectoryKey error:NULL]; + if ([isDirectory boolValue]) + { + continue; + } + + // compare file date with the max age + NSDate *fileModificationDate; + [fileURL getResourceValue:&fileModificationDate forKey:NSURLContentModificationDateKey error:NULL]; + if ([[fileModificationDate laterDate:expirationDate] isEqualToDate:expirationDate]) + { + [[NSFileManager defaultManager] removeItemAtURL:fileURL error:nil]; + } + } + }); +} + +-(int)getSize +{ + int size = 0; + NSDirectoryEnumerator *fileEnumerator = [[NSFileManager defaultManager] enumeratorAtPath:self.diskCachePath]; + for (NSString *fileName in fileEnumerator) + { + NSString *filePath = [self.diskCachePath stringByAppendingPathComponent:fileName]; + NSDictionary *attrs = [[NSFileManager defaultManager] attributesOfItemAtPath:filePath error:nil]; + size += [attrs fileSize]; + } + return size; +} + +- (int)getDiskCount +{ + int count = 0; + NSDirectoryEnumerator *fileEnumerator = [[NSFileManager defaultManager] enumeratorAtPath:self.diskCachePath]; + for (NSString *fileName in fileEnumerator) + { + count += 1; + } + + return count; +} + +@end diff --git a/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageCompat.h b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageCompat.h new file mode 100644 index 0000000..cabeaa6 --- /dev/null +++ b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageCompat.h @@ -0,0 +1,56 @@ +/* + * This file is part of the SDWebImage package. + * (c) Olivier Poitrey + * (c) Jamie Pinkham + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +#import + +#ifdef __OBJC_GC__ +#error SDWebImage does not support Objective-C Garbage Collection +#endif + +#if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_5_0 +#error SDWebImage doesn't support Deployement Target version < 5.0 +#endif + +#if !TARGET_OS_IPHONE +#import +#ifndef UIImage +#define UIImage NSImage +#endif +#ifndef UIImageView +#define UIImageView NSImageView +#endif +#else +#import +#endif + +// @see https://github.com/ccgus/fmdb/commit/aef763eeb64e6fa654e7d121f1df4c16a98d9f4f +#define SDDispatchQueueRelease(q) (dispatch_release(q)) +#if TARGET_OS_IPHONE + #if __IPHONE_OS_VERSION_MIN_REQUIRED >= 60000 + #undef SDDispatchQueueRelease + #define SDDispatchQueueRelease(q) + #undef SDDispatchQueueSetterSementics + #define SDDispatchQueueSetterSementics strong + #endif +#else + #if MAC_OS_X_VERSION_MIN_REQUIRED >= 1080 + #undef SDDispatchQueueRelease + #define SDDispatchQueueRelease(q) + #undef SDDispatchQueueSetterSementics + #define SDDispatchQueueSetterSementics strong + #endif +#endif + +#if OS_OBJECT_USE_OBJC + #define SDDispatchQueueSetterSementics strong +#else + #define SDDispatchQueueSetterSementics assign +#endif + +extern UIImage *SDScaledImageForPath(NSString *path, NSObject *imageOrData); diff --git a/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageCompat.m b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageCompat.m new file mode 100644 index 0000000..a803478 --- /dev/null +++ b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageCompat.m @@ -0,0 +1,54 @@ +// +// SDWebImageCompat.m +// SDWebImage +// +// Created by Olivier Poitrey on 11/12/12. +// Copyright (c) 2012 Dailymotion. All rights reserved. +// + +#import "SDWebImageCompat.h" + +#if !__has_feature(objc_arc) +#error SDWebImage is ARC only. Either turn on ARC for the project or use -fobjc-arc flag +#endif + +UIImage *SDScaledImageForPath(NSString *path, NSObject *imageOrData) +{ + if (!imageOrData) + { + return nil; + } + + UIImage *image = nil; + if ([imageOrData isKindOfClass:[NSData class]]) + { + image = [[UIImage alloc] initWithData:(NSData *)imageOrData]; + } + else if ([imageOrData isKindOfClass:[UIImage class]]) + { + image = (UIImage *)imageOrData; + } + else + { + return nil; + } + + if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) + { + CGFloat scale = 1.0; + if (path.length >= 8) + { + // Search @2x. at the end of the string, before a 3 to 4 extension length (only if key len is 8 or more @2x. + 4 len ext) + NSRange range = [path rangeOfString:@"@2x." options:0 range:NSMakeRange(path.length - 8, 5)]; + if (range.location != NSNotFound) + { + scale = 2.0; + } + } + + UIImage *scaledImage = [[UIImage alloc] initWithCGImage:image.CGImage scale:scale orientation:image.imageOrientation]; + image = scaledImage; + } + + return image; +} diff --git a/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageDecoder.h b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageDecoder.h new file mode 100644 index 0000000..0176a7b --- /dev/null +++ b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageDecoder.h @@ -0,0 +1,18 @@ +/* + * This file is part of the SDWebImage package. + * (c) Olivier Poitrey + * + * Created by james on 9/28/11. + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +#import +#import "SDWebImageCompat.h" + +@interface UIImage (ForceDecode) + ++ (UIImage *)decodedImageWithImage:(UIImage *)image; + +@end diff --git a/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageDecoder.m b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageDecoder.m new file mode 100644 index 0000000..fe70fd9 --- /dev/null +++ b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageDecoder.m @@ -0,0 +1,70 @@ +/* + * This file is part of the SDWebImage package. + * (c) Olivier Poitrey + * + * Created by james on 9/28/11. + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +#import "SDWebImageDecoder.h" + +@implementation UIImage (ForceDecode) + ++ (UIImage *)decodedImageWithImage:(UIImage *)image +{ + CGImageRef imageRef = image.CGImage; + CGSize imageSize = CGSizeMake(CGImageGetWidth(imageRef), CGImageGetHeight(imageRef)); + CGRect imageRect = (CGRect){.origin = CGPointZero, .size = imageSize}; + + CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); + CGBitmapInfo bitmapInfo = CGImageGetBitmapInfo(imageRef); + + int infoMask = (bitmapInfo & kCGBitmapAlphaInfoMask); + BOOL anyNonAlpha = (infoMask == kCGImageAlphaNone || + infoMask == kCGImageAlphaNoneSkipFirst || + infoMask == kCGImageAlphaNoneSkipLast); + + // CGBitmapContextCreate doesn't support kCGImageAlphaNone with RGB. + // https://developer.apple.com/library/mac/#qa/qa1037/_index.html + if (infoMask == kCGImageAlphaNone && CGColorSpaceGetNumberOfComponents(colorSpace) > 1) + { + // Unset the old alpha info. + bitmapInfo &= ~kCGBitmapAlphaInfoMask; + + // Set noneSkipFirst. + bitmapInfo |= kCGImageAlphaNoneSkipFirst; + } + // Some PNGs tell us they have alpha but only 3 components. Odd. + else if (!anyNonAlpha && CGColorSpaceGetNumberOfComponents(colorSpace) == 3) + { + // Unset the old alpha info. + bitmapInfo &= ~kCGBitmapAlphaInfoMask; + bitmapInfo |= kCGImageAlphaPremultipliedFirst; + } + + // It calculates the bytes-per-row based on the bitsPerComponent and width arguments. + CGContextRef context = CGBitmapContextCreate(NULL, + imageSize.width, + imageSize.height, + CGImageGetBitsPerComponent(imageRef), + 0, + colorSpace, + bitmapInfo); + CGColorSpaceRelease(colorSpace); + + // If failed, return undecompressed image + if (!context) return image; + + CGContextDrawImage(context, imageRect, imageRef); + CGImageRef decompressedImageRef = CGBitmapContextCreateImage(context); + + CGContextRelease(context); + + UIImage *decompressedImage = [UIImage imageWithCGImage:decompressedImageRef scale:image.scale orientation:image.imageOrientation]; + CGImageRelease(decompressedImageRef); + return decompressedImage; +} + +@end diff --git a/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageDownloader.h b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageDownloader.h new file mode 100644 index 0000000..3fdf948 --- /dev/null +++ b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageDownloader.h @@ -0,0 +1,96 @@ +/* + * This file is part of the SDWebImage package. + * (c) Olivier Poitrey + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +#import +#import "SDWebImageCompat.h" +#import "SDWebImageOperation.h" + +typedef enum +{ + SDWebImageDownloaderLowPriority = 1 << 0, + SDWebImageDownloaderProgressiveDownload = 1 << 1, + /** + * By default, request prevent the of NSURLCache. With this flag, NSURLCache + * is used with default policies. + */ + SDWebImageDownloaderUseNSURLCache = 1 << 2, + /** + * Call completion block with nil image/imageData if the image was read from NSURLCache + * (to be combined with `SDWebImageDownloaderUseNSURLCache`). + */ + SDWebImageDownloaderIgnoreCachedResponse = 1 << 3 +} SDWebImageDownloaderOptions; + +typedef enum +{ + SDWebImageDownloaderFILOQueueMode, + SDWebImageDownloaderLIFOQueueMode +} SDWebImageDownloaderQueueMode; + +extern NSString *const SDWebImageDownloadStartNotification; +extern NSString *const SDWebImageDownloadStopNotification; + +typedef void(^SDWebImageDownloaderProgressBlock)(NSUInteger receivedSize, long long expectedSize); +typedef void(^SDWebImageDownloaderCompletedBlock)(UIImage *image, NSData *data, NSError *error, BOOL finished); + +/** + * Asynchronous downloader dedicated and optimized for image loading. + */ +@interface SDWebImageDownloader : NSObject + +@property (assign, nonatomic) NSInteger maxConcurrentDownloads; + +/** + * Changes download operations unqueue mode. Default value is `SDWebImageDownloaderFILOQueueMode`. + */ +@property (assign, nonatomic) SDWebImageDownloaderQueueMode queueMode; + ++ (SDWebImageDownloader *)sharedDownloader; + +/** + * Set a value for a HTTP header to be appended to each download HTTP request. + * + * @param value The value for the header field. Use `nil` value to remove the header. + * @param field The name of the header field to set. + */ +- (void)setValue:(NSString *)value forHTTPHeaderField:(NSString *)field; + +/** + * Returns the value of the specified HTTP header field. + * + * @return The value associated with the header field field, or `nil` if there is no corresponding header field. + */ +- (NSString *)valueForHTTPHeaderField:(NSString *)field; + +/** + * Creates a SDWebImageDownloader async downloader instance with a given URL + * + * The delegate will be informed when the image is finish downloaded or an error has happen. + * + * @see SDWebImageDownloaderDelegate + * + * @param url The URL to the image to download + * @param options The options to be used for this download + * @param progress A block called repeatedly while the image is downloading + * @param completed A block called once the download is completed. + * If the download succeeded, the image parameter is set, in case of error, + * error parameter is set with the error. The last parameter is always YES + * if SDWebImageDownloaderProgressiveDownload isn't use. With the + * SDWebImageDownloaderProgressiveDownload option, this block is called + * repeatedly with the partial image object and the finished argument set to NO + * before to be called a last time with the full image and finished argument + * set to YES. In case of error, the finished argument is always YES. + * + * @return A cancellable SDWebImageOperation + */ +- (id)downloadImageWithURL:(NSURL *)url + options:(SDWebImageDownloaderOptions)options + progress:(SDWebImageDownloaderProgressBlock)progressBlock + completed:(SDWebImageDownloaderCompletedBlock)completedBlock; + +@end diff --git a/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageDownloader.m b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageDownloader.m new file mode 100644 index 0000000..ae8c9eb --- /dev/null +++ b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageDownloader.m @@ -0,0 +1,226 @@ +/* + * This file is part of the SDWebImage package. + * (c) Olivier Poitrey + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +#import "SDWebImageDownloader.h" +#import "SDWebImageDownloaderOperation.h" +#import + +NSString *const SDWebImageDownloadStartNotification = @"SDWebImageDownloadStartNotification"; +NSString *const SDWebImageDownloadStopNotification = @"SDWebImageDownloadStopNotification"; + +static NSString *const kProgressCallbackKey = @"progress"; +static NSString *const kCompletedCallbackKey = @"completed"; + +@interface SDWebImageDownloader () + +@property (strong, nonatomic) NSOperationQueue *downloadQueue; +@property (weak, nonatomic) NSOperation *lastAddedOperation; +@property (strong, nonatomic) NSMutableDictionary *URLCallbacks; +@property (strong, nonatomic) NSMutableDictionary *HTTPHeaders; +// This queue is used to serialize the handling of the network responses of all the download operation in a single queue +@property (SDDispatchQueueSetterSementics, nonatomic) dispatch_queue_t workingQueue; +@property (SDDispatchQueueSetterSementics, nonatomic) dispatch_queue_t barrierQueue; + +@end + +@implementation SDWebImageDownloader + ++ (void)initialize +{ + // Bind SDNetworkActivityIndicator if available (download it here: http://github.com/rs/SDNetworkActivityIndicator ) + // To use it, just add #import "SDNetworkActivityIndicator.h" in addition to the SDWebImage import + if (NSClassFromString(@"SDNetworkActivityIndicator")) + { + +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Warc-performSelector-leaks" + id activityIndicator = [NSClassFromString(@"SDNetworkActivityIndicator") performSelector:NSSelectorFromString(@"sharedActivityIndicator")]; +#pragma clang diagnostic pop + + // Remove observer in case it was previously added. + [[NSNotificationCenter defaultCenter] removeObserver:activityIndicator name:SDWebImageDownloadStartNotification object:nil]; + [[NSNotificationCenter defaultCenter] removeObserver:activityIndicator name:SDWebImageDownloadStopNotification object:nil]; + + [[NSNotificationCenter defaultCenter] addObserver:activityIndicator + selector:NSSelectorFromString(@"startActivity") + name:SDWebImageDownloadStartNotification object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:activityIndicator + selector:NSSelectorFromString(@"stopActivity") + name:SDWebImageDownloadStopNotification object:nil]; + } +} + ++ (SDWebImageDownloader *)sharedDownloader +{ + static dispatch_once_t once; + static id instance; + dispatch_once(&once, ^{instance = self.new;}); + return instance; +} + +- (id)init +{ + if ((self = [super init])) + { + _queueMode = SDWebImageDownloaderFILOQueueMode; + _downloadQueue = NSOperationQueue.new; + _downloadQueue.maxConcurrentOperationCount = 2; + _URLCallbacks = NSMutableDictionary.new; + _HTTPHeaders = [NSMutableDictionary dictionaryWithObject:@"image/*" forKey:@"Accept"]; + _workingQueue = dispatch_queue_create("com.hackemist.SDWebImageDownloader", DISPATCH_QUEUE_SERIAL); + _barrierQueue = dispatch_queue_create("com.hackemist.SDWebImageDownloaderBarrierQueue", DISPATCH_QUEUE_CONCURRENT); + } + return self; +} + +- (void)dealloc +{ + [self.downloadQueue cancelAllOperations]; + SDDispatchQueueRelease(_workingQueue); + SDDispatchQueueRelease(_barrierQueue); +} + +- (void)setValue:(NSString *)value forHTTPHeaderField:(NSString *)field +{ + if (value) + { + self.HTTPHeaders[field] = value; + } + else + { + [self.HTTPHeaders removeObjectForKey:field]; + } +} + +- (NSString *)valueForHTTPHeaderField:(NSString *)field +{ + return self.HTTPHeaders[field]; +} + +- (void)setMaxConcurrentDownloads:(NSInteger)maxConcurrentDownloads +{ + _downloadQueue.maxConcurrentOperationCount = maxConcurrentDownloads; +} + +- (NSInteger)maxConcurrentDownloads +{ + return _downloadQueue.maxConcurrentOperationCount; +} + +- (id)downloadImageWithURL:(NSURL *)url options:(SDWebImageDownloaderOptions)options progress:(void (^)(NSUInteger, long long))progressBlock completed:(void (^)(UIImage *, NSData *, NSError *, BOOL))completedBlock +{ + __block SDWebImageDownloaderOperation *operation; + __weak SDWebImageDownloader *wself = self; + + [self addProgressCallback:progressBlock andCompletedBlock:completedBlock forURL:url createCallback:^ + { + // In order to prevent from potential duplicate caching (NSURLCache + SDImageCache) we disable the cache for image requests if told otherwise + NSMutableURLRequest *request = [NSMutableURLRequest.alloc initWithURL:url cachePolicy:(options & SDWebImageDownloaderUseNSURLCache ? NSURLRequestUseProtocolCachePolicy : NSURLRequestReloadIgnoringLocalCacheData) timeoutInterval:15]; + request.HTTPShouldHandleCookies = NO; + request.HTTPShouldUsePipelining = YES; + request.allHTTPHeaderFields = wself.HTTPHeaders; + operation = [SDWebImageDownloaderOperation.alloc initWithRequest:request queue:wself.workingQueue options:options progress:^(NSUInteger receivedSize, long long expectedSize) + { + if (!wself) return; + SDWebImageDownloader *sself = wself; + NSArray *callbacksForURL = [sself callbacksForURL:url]; + for (NSDictionary *callbacks in callbacksForURL) + { + SDWebImageDownloaderProgressBlock callback = callbacks[kProgressCallbackKey]; + if (callback) callback(receivedSize, expectedSize); + } + } + completed:^(UIImage *image, NSData *data, NSError *error, BOOL finished) + { + if (!wself) return; + SDWebImageDownloader *sself = wself; + NSArray *callbacksForURL = [sself callbacksForURL:url]; + if (finished) + { + [sself removeCallbacksForURL:url]; + } + for (NSDictionary *callbacks in callbacksForURL) + { + SDWebImageDownloaderCompletedBlock callback = callbacks[kCompletedCallbackKey]; + if (callback) callback(image, data, error, finished); + } + } + cancelled:^ + { + if (!wself) return; + SDWebImageDownloader *sself = wself; + [sself callbacksForURL:url]; + [sself removeCallbacksForURL:url]; + }]; + [wself.downloadQueue addOperation:operation]; + if (wself.queueMode == SDWebImageDownloaderLIFOQueueMode) + { + // Emulate LIFO queue mode by systematically adding new operations as last operation's dependency + [wself.lastAddedOperation addDependency:operation]; + wself.lastAddedOperation = operation; + } + }]; + + return operation; +} + +- (void)addProgressCallback:(void (^)(NSUInteger, long long))progressBlock andCompletedBlock:(void (^)(UIImage *, NSData *data, NSError *, BOOL))completedBlock forURL:(NSURL *)url createCallback:(void (^)())createCallback +{ + // The URL will be used as the key to the callbacks dictionary so it cannot be nil. If it is nil immediately call the completed block with no image or data. + if(url == nil) + { + if (completedBlock != nil) + { + completedBlock(nil, nil, nil, NO); + } + return; + } + + dispatch_barrier_sync(self.barrierQueue, ^ + { + BOOL first = NO; + if (!self.URLCallbacks[url]) + { + self.URLCallbacks[url] = NSMutableArray.new; + first = YES; + } + + // Handle single download of simultaneous download request for the same URL + NSMutableArray *callbacksForURL = self.URLCallbacks[url]; + NSMutableDictionary *callbacks = NSMutableDictionary.new; + if (progressBlock) callbacks[kProgressCallbackKey] = [progressBlock copy]; + if (completedBlock) callbacks[kCompletedCallbackKey] = [completedBlock copy]; + [callbacksForURL addObject:callbacks]; + self.URLCallbacks[url] = callbacksForURL; + + if (first) + { + createCallback(); + } + }); +} + +- (NSArray *)callbacksForURL:(NSURL *)url +{ + __block NSArray *callbacksForURL; + dispatch_sync(self.barrierQueue, ^ + { + callbacksForURL = self.URLCallbacks[url]; + }); + return callbacksForURL; +} + +- (void)removeCallbacksForURL:(NSURL *)url +{ + dispatch_barrier_async(self.barrierQueue, ^ + { + [self.URLCallbacks removeObjectForKey:url]; + }); +} + +@end diff --git a/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageDownloaderOperation.h b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageDownloaderOperation.h new file mode 100644 index 0000000..b7afd7f --- /dev/null +++ b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageDownloaderOperation.h @@ -0,0 +1,25 @@ +/* + * This file is part of the SDWebImage package. + * (c) Olivier Poitrey + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +#import +#import "SDWebImageDownloader.h" +#import "SDWebImageOperation.h" + +@interface SDWebImageDownloaderOperation : NSOperation + +@property (strong, nonatomic, readonly) NSURLRequest *request; +@property (assign, nonatomic, readonly) SDWebImageDownloaderOptions options; + +- (id)initWithRequest:(NSURLRequest *)request + queue:(dispatch_queue_t)queue + options:(SDWebImageDownloaderOptions)options + progress:(SDWebImageDownloaderProgressBlock)progressBlock + completed:(SDWebImageDownloaderCompletedBlock)completedBlock + cancelled:(void (^)())cancelBlock; + +@end diff --git a/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageDownloaderOperation.m b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageDownloaderOperation.m new file mode 100644 index 0000000..07b3ad5 --- /dev/null +++ b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageDownloaderOperation.m @@ -0,0 +1,339 @@ +/* + * This file is part of the SDWebImage package. + * (c) Olivier Poitrey + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +#import "SDWebImageDownloaderOperation.h" +#import "SDWebImageDecoder.h" +#import + +@interface SDWebImageDownloaderOperation () + +@property (copy, nonatomic) SDWebImageDownloaderProgressBlock progressBlock; +@property (copy, nonatomic) SDWebImageDownloaderCompletedBlock completedBlock; +@property (copy, nonatomic) void (^cancelBlock)(); + +@property (assign, nonatomic, getter = isExecuting) BOOL executing; +@property (assign, nonatomic, getter = isFinished) BOOL finished; +@property (assign, nonatomic) long long expectedSize; +@property (strong, nonatomic) NSMutableData *imageData; +@property (strong, nonatomic) NSURLConnection *connection; +@property (SDDispatchQueueSetterSementics, nonatomic) dispatch_queue_t queue; + +@end + +@implementation SDWebImageDownloaderOperation +{ + size_t width, height; + BOOL responseFromCached; +} + +- (id)initWithRequest:(NSURLRequest *)request queue:(dispatch_queue_t)queue options:(SDWebImageDownloaderOptions)options progress:(void (^)(NSUInteger, long long))progressBlock completed:(void (^)(UIImage *, NSData *, NSError *, BOOL))completedBlock cancelled:(void (^)())cancelBlock +{ + if ((self = [super init])) + { + _queue = queue; + _request = request; + _options = options; + _progressBlock = [progressBlock copy]; + _completedBlock = [completedBlock copy]; + _cancelBlock = [cancelBlock copy]; + _executing = NO; + _finished = NO; + _expectedSize = 0; + responseFromCached = YES; // Initially wrong until `connection:willCacheResponse:` is called or not called + } + return self; +} + +- (void)start +{ + dispatch_async(dispatch_get_main_queue(), ^ + { + if (self.isCancelled) + { + self.finished = YES; + [self reset]; + return; + } + + self.executing = YES; + self.connection = [NSURLConnection.alloc initWithRequest:self.request delegate:self startImmediately:NO]; + + // If not in low priority mode, ensure we aren't blocked by UI manipulations (default runloop mode for NSURLConnection is NSEventTrackingRunLoopMode) + if (!(self.options & SDWebImageDownloaderLowPriority)) + { + [self.connection scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes]; + } + + [self.connection start]; + + if (self.connection) + { + if (self.progressBlock) + { + self.progressBlock(0, -1); + } + [[NSNotificationCenter defaultCenter] postNotificationName:SDWebImageDownloadStartNotification object:self]; + } + else + { + if (self.completedBlock) + { + self.completedBlock(nil, nil, [NSError errorWithDomain:NSURLErrorDomain code:0 userInfo:@{NSLocalizedDescriptionKey: @"Connection can't be initialized"}], YES); + } + } + }); +} + +- (void)cancel +{ + if (self.isFinished) return; + [super cancel]; + if (self.cancelBlock) self.cancelBlock(); + + if (self.connection) + { + [self.connection cancel]; + [[NSNotificationCenter defaultCenter] postNotificationName:SDWebImageDownloadStopNotification object:self]; + + // As we cancelled the connection, its callback won't be called and thus won't + // maintain the isFinished and isExecuting flags. + if (self.isExecuting) self.executing = NO; + if (!self.isFinished) self.finished = YES; + } + + [self reset]; +} + +- (void)done +{ + self.finished = YES; + self.executing = NO; + [self reset]; +} + +- (void)reset +{ + dispatch_async(dispatch_get_main_queue(), ^ + { + self.cancelBlock = nil; + self.completedBlock = nil; + self.progressBlock = nil; + self.connection = nil; + self.imageData = nil; + }); +} + +- (void)setFinished:(BOOL)finished +{ + [self willChangeValueForKey:@"isFinished"]; + _finished = finished; + [self didChangeValueForKey:@"isFinished"]; +} + +- (void)setExecuting:(BOOL)executing +{ + [self willChangeValueForKey:@"isExecuting"]; + _executing = executing; + [self didChangeValueForKey:@"isExecuting"]; +} + +- (BOOL)isConcurrent +{ + return YES; +} + +#pragma mark NSURLConnection (delegate) + +- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response +{ + if (![response respondsToSelector:@selector(statusCode)] || [((NSHTTPURLResponse *)response) statusCode] < 400) + { + NSUInteger expected = response.expectedContentLength > 0 ? (NSUInteger)response.expectedContentLength : 0; + self.expectedSize = expected; + if (self.progressBlock) + { + self.progressBlock(0, expected); + } + + dispatch_async(self.queue, ^ + { + self.imageData = [NSMutableData.alloc initWithCapacity:expected]; + }); + } + else + { + [self.connection cancel]; + + [[NSNotificationCenter defaultCenter] postNotificationName:SDWebImageDownloadStopNotification object:nil]; + + if (self.completedBlock) + { + self.completedBlock(nil, nil, [NSError errorWithDomain:NSURLErrorDomain code:[((NSHTTPURLResponse *)response) statusCode] userInfo:nil], YES); + } + + [self done]; + } +} + +- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data +{ + dispatch_async(self.queue, ^ + { + [self.imageData appendData:data]; + + if ((self.options & SDWebImageDownloaderProgressiveDownload) && self.expectedSize > 0 && self.completedBlock) + { + // The following code is from http://www.cocoaintheshell.com/2011/05/progressive-images-download-imageio/ + // Thanks to the author @Nyx0uf + + // Get the total bytes downloaded + const NSUInteger totalSize = self.imageData.length; + + // Update the data source, we must pass ALL the data, not just the new bytes + CGImageSourceRef imageSource = CGImageSourceCreateIncremental(NULL); + CGImageSourceUpdateData(imageSource, (__bridge CFDataRef)self.imageData, totalSize == self.expectedSize); + + if (width + height == 0) + { + CFDictionaryRef properties = CGImageSourceCopyPropertiesAtIndex(imageSource, 0, NULL); + if (properties) + { + CFTypeRef val = CFDictionaryGetValue(properties, kCGImagePropertyPixelHeight); + if (val) CFNumberGetValue(val, kCFNumberLongType, &height); + val = CFDictionaryGetValue(properties, kCGImagePropertyPixelWidth); + if (val) CFNumberGetValue(val, kCFNumberLongType, &width); + CFRelease(properties); + } + } + + if (width + height > 0 && totalSize < self.expectedSize) + { + // Create the image + CGImageRef partialImageRef = CGImageSourceCreateImageAtIndex(imageSource, 0, NULL); + +#ifdef TARGET_OS_IPHONE + // Workaround for iOS anamorphic image + if (partialImageRef) + { + const size_t partialHeight = CGImageGetHeight(partialImageRef); + CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); + CGContextRef bmContext = CGBitmapContextCreate(NULL, width, height, 8, width * 4, colorSpace, kCGBitmapByteOrderDefault | kCGImageAlphaPremultipliedFirst); + CGColorSpaceRelease(colorSpace); + if (bmContext) + { + CGContextDrawImage(bmContext, (CGRect){.origin.x = 0.0f, .origin.y = 0.0f, .size.width = width, .size.height = partialHeight}, partialImageRef); + CGImageRelease(partialImageRef); + partialImageRef = CGBitmapContextCreateImage(bmContext); + CGContextRelease(bmContext); + } + else + { + CGImageRelease(partialImageRef); + partialImageRef = nil; + } + } +#endif + + if (partialImageRef) + { + UIImage *image = [UIImage decodedImageWithImage:SDScaledImageForPath(self.request.URL.absoluteString, [UIImage imageWithCGImage:partialImageRef])]; + CGImageRelease(partialImageRef); + dispatch_async(dispatch_get_main_queue(), ^ + { + if (self.completedBlock) + { + self.completedBlock(image, nil, nil, NO); + } + }); + } + } + + CFRelease(imageSource); + } + NSUInteger received = self.imageData.length; + dispatch_async(dispatch_get_main_queue(), ^ + { + if (self.progressBlock) + { + self.progressBlock(received, self.expectedSize); + } + }); + }); +} + +- (void)connectionDidFinishLoading:(NSURLConnection *)aConnection +{ + self.connection = nil; + + [[NSNotificationCenter defaultCenter] postNotificationName:SDWebImageDownloadStopNotification object:nil]; + + SDWebImageDownloaderCompletedBlock completionBlock = self.completedBlock; + + if (completionBlock) + { + if (self.options & SDWebImageDownloaderIgnoreCachedResponse && responseFromCached) + { + completionBlock(nil, nil, nil, YES); + self.completionBlock = nil; + [self done]; + } + else + { + dispatch_async(self.queue, ^ + { + UIImage *image = [UIImage decodedImageWithImage:SDScaledImageForPath(self.request.URL.absoluteString, self.imageData)]; + dispatch_async(dispatch_get_main_queue(), ^ + { + if (CGSizeEqualToSize(image.size, CGSizeZero)) + { + completionBlock(nil, nil, [NSError errorWithDomain:@"SDWebImageErrorDomain" code:0 userInfo:@{NSLocalizedDescriptionKey: @"Downloaded image has 0 pixels"}], YES); + } + else + { + completionBlock(image, self.imageData, nil, YES); + } + self.completionBlock = nil; + [self done]; + }); + }); + } + } + else + { + [self done]; + } +} + +- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error +{ + [[NSNotificationCenter defaultCenter] postNotificationName:SDWebImageDownloadStopNotification object:nil]; + + if (self.completedBlock) + { + self.completedBlock(nil, nil, error, YES); + } + + [self done]; +} + +- (NSCachedURLResponse *)connection:(NSURLConnection *)connection willCacheResponse:(NSCachedURLResponse *)cachedResponse +{ + responseFromCached = NO; // If this method is called, it means the response wasn't read from cache + if (self.request.cachePolicy == NSURLRequestReloadIgnoringLocalCacheData) + { + // Prevents caching of responses + return nil; + } + else + { + return cachedResponse; + } +} + + +@end diff --git a/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageManager.h b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageManager.h new file mode 100644 index 0000000..a6e39ac --- /dev/null +++ b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageManager.h @@ -0,0 +1,167 @@ +/* + * This file is part of the SDWebImage package. + * (c) Olivier Poitrey + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +#import "SDWebImageCompat.h" +#import "SDWebImageOperation.h" +#import "SDWebImageDownloader.h" +#import "SDImageCache.h" + +typedef enum +{ + /** + * By default, when a URL fail to be downloaded, the URL is blacklisted so the library won't keep trying. + * This flag disable this blacklisting. + */ + SDWebImageRetryFailed = 1 << 0, + /** + * By default, image downloads are started during UI interactions, this flags disable this feature, + * leading to delayed download on UIScrollView deceleration for instance. + */ + SDWebImageLowPriority = 1 << 1, + /** + * This flag disables on-disk caching + */ + SDWebImageCacheMemoryOnly = 1 << 2, + /** + * This flag enables progressive download, the image is displayed progressively during download as a browser would do. + * By default, the image is only displayed once completely downloaded. + */ + SDWebImageProgressiveDownload = 1 << 3, + /** + * Even if the image is cached, respect the HTTP response cache control, and refresh the image from remote location if needed. + * The disk caching will be handled by NSURLCache instead of SDWebImage leading to slight performance degradation. + * This option helps deal with images changing behind the same request URL, e.g. Facebook graph api profile pics. + * If a cached image is refreshed, the completion block is called once with the cached image and again with the final image. + * + * Use this flag only if you can't make your URLs static with embeded cache busting parameter. + */ + SDWebImageRefreshCached = 1 << 4 +} SDWebImageOptions; + +typedef void(^SDWebImageCompletedBlock)(UIImage *image, NSError *error, SDImageCacheType cacheType); +typedef void(^SDWebImageCompletedWithFinishedBlock)(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished); + + +@class SDWebImageManager; + +@protocol SDWebImageManagerDelegate + +@optional + +/** + * Controls which image should be downloaded when the image is not found in the cache. + * + * @param imageManager The current `SDWebImageManager` + * @param imageURL The url of the image to be downloaded + * + * @return Return NO to prevent the downloading of the image on cache misses. If not implemented, YES is implied. + */ +- (BOOL)imageManager:(SDWebImageManager *)imageManager shouldDownloadImageForURL:(NSURL *)imageURL; + +/** + * Allows to transform the image immediately after it has been downloaded and just before to cache it on disk and memory. + * NOTE: This method is called from a global queue in order to not to block the main thread. + * + * @param imageManager The current `SDWebImageManager` + * @param image The image to transform + * @param imageURL The url of the image to transform + * + * @return The transformed image object. + */ +- (UIImage *)imageManager:(SDWebImageManager *)imageManager transformDownloadedImage:(UIImage *)image withURL:(NSURL *)imageURL; + +@end + +/** + * The SDWebImageManager is the class behind the UIImageView+WebCache category and likes. + * It ties the asynchronous downloader (SDWebImageDownloader) with the image cache store (SDImageCache). + * You can use this class directly to benefit from web image downloading with caching in another context than + * a UIView. + * + * Here is a simple example of how to use SDWebImageManager: + * + * SDWebImageManager *manager = [SDWebImageManager sharedManager]; + * [manager downloadWithURL:imageURL + * delegate:self + * options:0 + * progress:nil + * completed:^(UIImage *image, NSError *error, BOOL fromCache) + * { + * if (image) + * { + * // do something with image + * } + * }]; + */ +@interface SDWebImageManager : NSObject + +@property (weak, nonatomic) id delegate; + +@property (strong, nonatomic, readonly) SDImageCache *imageCache; +@property (strong, nonatomic, readonly) SDWebImageDownloader *imageDownloader; + +/** + * The cache filter is a block used each time SDWebImageManager need to convert an URL into a cache key. This can + * be used to remove dynamic part of an image URL. + * + * The following example sets a filter in the application delegate that will remove any query-string from the + * URL before to use it as a cache key: + * + * [[SDWebImageManager sharedManager] setCacheKeyFilter:^(NSURL *url) + * { + * url = [[NSURL alloc] initWithScheme:url.scheme host:url.host path:url.path]; + * return [url absoluteString]; + * }]; + */ +@property (strong) NSString *(^cacheKeyFilter)(NSURL *url); + +/** + * Returns global SDWebImageManager instance. + * + * @return SDWebImageManager shared instance + */ ++ (SDWebImageManager *)sharedManager; + +/** + * Downloads the image at the given URL if not present in cache or return the cached version otherwise. + * + * @param url The URL to the image + * @param delegate The delegate object used to send result back + * @param options A mask to specify options to use for this request + * @param progressBlock A block called while image is downloading + * @param completedBlock A block called when operation has been completed. + * + * This block as no return value and takes the requested UIImage as first parameter. + * In case of error the image parameter is nil and the second parameter may contain an NSError. + * + * The third parameter is a Boolean indicating if the image was retrived from the local cache + * of from the network. + * + * The last parameter is set to NO when the SDWebImageProgressiveDownload option is used and + * the image is downloading. This block is thus called repetidly with a partial image. When + * image is fully downloaded, the block is called a last time with the full image and the last + * parameter set to YES. + * + * @return Returns a cancellable NSOperation + */ +- (id)downloadWithURL:(NSURL *)url + options:(SDWebImageOptions)options + progress:(SDWebImageDownloaderProgressBlock)progressBlock + completed:(SDWebImageCompletedWithFinishedBlock)completedBlock; + +/** + * Cancel all current opreations + */ +- (void)cancelAll; + +/** + * Check one or more operations running + */ +- (BOOL)isRunning; + +@end diff --git a/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageManager.m b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageManager.m new file mode 100644 index 0000000..c7fee6a --- /dev/null +++ b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageManager.m @@ -0,0 +1,244 @@ +/* + * This file is part of the SDWebImage package. + * (c) Olivier Poitrey + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +#import "SDWebImageManager.h" +#import + +@interface SDWebImageCombinedOperation : NSObject + +@property (assign, nonatomic, getter = isCancelled) BOOL cancelled; +@property (copy, nonatomic) void (^cancelBlock)(); + +@end + +@interface SDWebImageManager () + +@property (strong, nonatomic, readwrite) SDImageCache *imageCache; +@property (strong, nonatomic, readwrite) SDWebImageDownloader *imageDownloader; +@property (strong, nonatomic) NSMutableArray *failedURLs; +@property (strong, nonatomic) NSMutableArray *runningOperations; + +@end + +@implementation SDWebImageManager + ++ (id)sharedManager +{ + static dispatch_once_t once; + static id instance; + dispatch_once(&once, ^{instance = self.new;}); + return instance; +} + +- (id)init +{ + if ((self = [super init])) + { + _imageCache = [SDImageCache sharedImageCache]; + _imageDownloader = SDWebImageDownloader.new; + _failedURLs = NSMutableArray.new; + _runningOperations = NSMutableArray.new; + } + return self; +} + + +- (NSString *)cacheKeyForURL:(NSURL *)url +{ + if (self.cacheKeyFilter) + { + return self.cacheKeyFilter(url); + } + else + { + return [url absoluteString]; + } +} + +- (id)downloadWithURL:(NSURL *)url options:(SDWebImageOptions)options progress:(SDWebImageDownloaderProgressBlock)progressBlock completed:(SDWebImageCompletedWithFinishedBlock)completedBlock +{ + // Very common mistake is to send the URL using NSString object instead of NSURL. For some strange reason, XCode won't + // throw any warning for this type mismatch. Here we failsafe this error by allowing URLs to be passed as NSString. + if ([url isKindOfClass:NSString.class]) + { + url = [NSURL URLWithString:(NSString *)url]; + } + + // Prevents app crashing on argument type error like sending NSNull instead of NSURL + if (![url isKindOfClass:NSURL.class]) + { + url = nil; + } + + __block SDWebImageCombinedOperation *operation = SDWebImageCombinedOperation.new; + __weak SDWebImageCombinedOperation *weakOperation = operation; + + if (!url || !completedBlock || (!(options & SDWebImageRetryFailed) && [self.failedURLs containsObject:url])) + { + if (completedBlock) completedBlock(nil, nil, SDImageCacheTypeNone, NO); + return operation; + } + + @synchronized(self.runningOperations) + { + [self.runningOperations addObject:operation]; + } + NSString *key = [self cacheKeyForURL:url]; + + [self.imageCache queryDiskCacheForKey:key done:^(UIImage *image, SDImageCacheType cacheType) + { + if (operation.isCancelled) return; + + if ((!image || options & SDWebImageRefreshCached) && (![self.delegate respondsToSelector:@selector(imageManager:shouldDownloadImageForURL:)] || [self.delegate imageManager:self shouldDownloadImageForURL:url])) + { + if (image && options & SDWebImageRefreshCached) + { + // If image was found in the cache bug SDWebImageRefreshCached is provided, notify about the cached image + // AND try to re-download it in order to let a chance to NSURLCache to refresh it from server. + completedBlock(image, nil, cacheType, YES); + } + + // download if no image or requested to refresh anyway, and download allowed by delegate + SDWebImageDownloaderOptions downloaderOptions = 0; + if (options & SDWebImageLowPriority) downloaderOptions |= SDWebImageDownloaderLowPriority; + if (options & SDWebImageProgressiveDownload) downloaderOptions |= SDWebImageDownloaderProgressiveDownload; + if (options & SDWebImageRefreshCached) downloaderOptions |= SDWebImageDownloaderUseNSURLCache; + if (image && options & SDWebImageRefreshCached) + { + // force progressive off if image already cached but forced refreshing + downloaderOptions &= ~SDWebImageDownloaderProgressiveDownload; + // ignore image read from NSURLCache if image if cached but force refreshing + downloaderOptions |= SDWebImageDownloaderIgnoreCachedResponse; + } + __block id subOperation = [self.imageDownloader downloadImageWithURL:url options:downloaderOptions progress:progressBlock completed:^(UIImage *downloadedImage, NSData *data, NSError *error, BOOL finished) + { + if (weakOperation.cancelled) + { + completedBlock(nil, nil, SDImageCacheTypeNone, finished); + } + else if (error) + { + completedBlock(nil, error, SDImageCacheTypeNone, finished); + + if (error.code != NSURLErrorNotConnectedToInternet) + { + @synchronized(self.failedURLs) + { + [self.failedURLs addObject:url]; + } + } + } + else + { + BOOL cacheOnDisk = !(options & SDWebImageCacheMemoryOnly); + + if (options & SDWebImageRefreshCached && image && !downloadedImage) + { + // Image refresh hit the NSURLCache cache, do not call the completion block + } + else if (downloadedImage && [self.delegate respondsToSelector:@selector(imageManager:transformDownloadedImage:withURL:)]) + { + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^ + { + UIImage *transformedImage = [self.delegate imageManager:self transformDownloadedImage:downloadedImage withURL:url]; + + dispatch_async(dispatch_get_main_queue(), ^ + { + completedBlock(transformedImage, nil, SDImageCacheTypeNone, finished); + }); + + if (transformedImage && finished) + { + [self.imageCache storeImage:transformedImage imageData:nil forKey:key toDisk:cacheOnDisk]; + } + }); + } + else + { + completedBlock(downloadedImage, nil, SDImageCacheTypeNone, finished); + + if (downloadedImage && finished) + { + [self.imageCache storeImage:downloadedImage imageData:data forKey:key toDisk:cacheOnDisk]; + } + } + } + + if (finished) + { + @synchronized(self.runningOperations) + { + [self.runningOperations removeObject:operation]; + } + } + }]; + operation.cancelBlock = ^{[subOperation cancel];}; + } + else if (image) + { + completedBlock(image, nil, cacheType, YES); + @synchronized(self.runningOperations) + { + [self.runningOperations removeObject:operation]; + } + } + else + { + // Image not in cache and download disallowed by delegate + completedBlock(nil, nil, SDImageCacheTypeNone, YES); + @synchronized(self.runningOperations) + { + [self.runningOperations removeObject:operation]; + } + } + }]; + + return operation; +} + +- (void)cancelAll +{ + @synchronized(self.runningOperations) + { + [self.runningOperations makeObjectsPerformSelector:@selector(cancel)]; + [self.runningOperations removeAllObjects]; + } +} + +- (BOOL)isRunning +{ + return self.runningOperations.count > 0; +} + +@end + +@implementation SDWebImageCombinedOperation + +- (void)setCancelBlock:(void (^)())cancelBlock +{ + if (self.isCancelled) + { + if (cancelBlock) cancelBlock(); + } + else + { + _cancelBlock = [cancelBlock copy]; + } +} + +- (void)cancel +{ + self.cancelled = YES; + if (self.cancelBlock) + { + self.cancelBlock(); + self.cancelBlock = nil; + } +} + +@end diff --git a/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageOperation.h b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageOperation.h new file mode 100644 index 0000000..71094ee --- /dev/null +++ b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImageOperation.h @@ -0,0 +1,15 @@ +/* + * This file is part of the SDWebImage package. + * (c) Olivier Poitrey + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +#import + +@protocol SDWebImageOperation + +- (void)cancel; + +@end diff --git a/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImagePrefetcher.h b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImagePrefetcher.h new file mode 100644 index 0000000..7695f57 --- /dev/null +++ b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImagePrefetcher.h @@ -0,0 +1,58 @@ +/* + * This file is part of the SDWebImage package. + * (c) Olivier Poitrey + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +#import +#import "SDWebImageManager.h" + +/** + * Prefetch some URLs in the cache for future use. Images are downloaded in low priority. + */ +@interface SDWebImagePrefetcher : NSObject + +/** + * Maximum number of URLs to prefetch at the same time. Defaults to 3. + */ +@property (nonatomic, assign) NSUInteger maxConcurrentDownloads; + +/** + * SDWebImageOptions for prefetcher. Defaults to SDWebImageLowPriority. + */ +@property (nonatomic, assign) SDWebImageOptions options; + + +/** + * Return the global image prefetcher instance. + */ ++ (SDWebImagePrefetcher *)sharedImagePrefetcher; + +/** + * Assign list of URLs to let SDWebImagePrefetcher to queue the prefetching, + * currently one image is downloaded at a time, + * and skips images for failed downloads and proceed to the next image in the list + * + * @param urls list of URLs to prefetch + */ +- (void)prefetchURLs:(NSArray *)urls; + +/** + * Assign list of URLs to let SDWebImagePrefetcher to queue the prefetching, + * currently one image is downloaded at a time, + * and skips images for failed downloads and proceed to the next image in the list + * + * @param urls list of URLs to prefetch + * @param completionBlock block to be called when prefetching is completed + */ +- (void)prefetchURLs:(NSArray *)urls completed:(void (^)(NSUInteger finishedCount, NSUInteger skippedCount))completionBlock; + +/** + * Remove and cancel queued list + */ +- (void)cancelPrefetching; + + +@end diff --git a/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImagePrefetcher.m b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImagePrefetcher.m new file mode 100644 index 0000000..e1c188c --- /dev/null +++ b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/SDWebImagePrefetcher.m @@ -0,0 +1,127 @@ +/* + * This file is part of the SDWebImage package. + * (c) Olivier Poitrey + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +#import "SDWebImagePrefetcher.h" +#import "SDWebImageManager.h" + +@interface SDWebImagePrefetcher () + +@property (strong, nonatomic) SDWebImageManager *manager; +@property (strong, nonatomic) NSArray *prefetchURLs; +@property (assign, nonatomic) NSUInteger requestedCount; +@property (assign, nonatomic) NSUInteger skippedCount; +@property (assign, nonatomic) NSUInteger finishedCount; +@property (assign, nonatomic) NSTimeInterval startedTime; +@property (SDDispatchQueueSetterSementics, nonatomic) void (^completionBlock)(NSUInteger, NSUInteger); + +@end + +@implementation SDWebImagePrefetcher + ++ (SDWebImagePrefetcher *)sharedImagePrefetcher +{ + static dispatch_once_t once; + static id instance; + dispatch_once(&once, ^{instance = self.new;}); + return instance; +} + +- (id)init +{ + if ((self = [super init])) + { + _manager = SDWebImageManager.new; + _options = SDWebImageLowPriority; + self.maxConcurrentDownloads = 3; + } + return self; +} + +- (void)setMaxConcurrentDownloads:(NSUInteger)maxConcurrentDownloads +{ + self.manager.imageDownloader.maxConcurrentDownloads = maxConcurrentDownloads; +} + +- (NSUInteger)maxConcurrentDownloads +{ + return self.manager.imageDownloader.maxConcurrentDownloads; +} + +- (void)startPrefetchingAtIndex:(NSUInteger)index +{ + if (index >= self.prefetchURLs.count) return; + self.requestedCount++; + [self.manager downloadWithURL:self.prefetchURLs[index] options:self.options progress:nil completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished) + { + if (!finished) return; + self.finishedCount++; + + if (image) + { + NSLog(@"Prefetched %d out of %d", self.finishedCount, self.prefetchURLs.count); + } + else + { + NSLog(@"Prefetched %d out of %d (Failed)", self.finishedCount, [self.prefetchURLs count]); + + // Add last failed + self.skippedCount++; + } + + if (self.prefetchURLs.count > self.requestedCount) + { + [self startPrefetchingAtIndex:self.requestedCount]; + } + else if (self.finishedCount == self.requestedCount) + { + [self reportStatus]; + if (self.completionBlock) + { + self.completionBlock(self.finishedCount, self.skippedCount); + self.completionBlock = nil; + } + } + }]; +} + +- (void)reportStatus +{ + NSUInteger total = [self.prefetchURLs count]; + NSLog(@"Finished prefetching (%d successful, %d skipped, timeElasped %.2f)", total - self.skippedCount, self.skippedCount, CFAbsoluteTimeGetCurrent() - self.startedTime); +} + +- (void)prefetchURLs:(NSArray *)urls +{ + [self prefetchURLs:urls completed:nil]; +} + +- (void)prefetchURLs:(NSArray *)urls completed:(void (^)(NSUInteger, NSUInteger))completionBlock +{ + [self cancelPrefetching]; // Prevent duplicate prefetch request + self.startedTime = CFAbsoluteTimeGetCurrent(); + self.prefetchURLs = urls; + self.completionBlock = completionBlock; + + // Starts prefetching from the very first image on the list with the max allowed concurrency + NSUInteger listCount = self.prefetchURLs.count; + for (NSUInteger i = 0; i < self.maxConcurrentDownloads && self.requestedCount < listCount; i++) + { + [self startPrefetchingAtIndex:i]; + } +} + +- (void)cancelPrefetching +{ + self.prefetchURLs = nil; + self.skippedCount = 0; + self.requestedCount = 0; + self.finishedCount = 0; + [self.manager cancelAll]; +} + +@end diff --git a/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/UIButton+WebCache.h b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/UIButton+WebCache.h new file mode 100644 index 0000000..2b3348e --- /dev/null +++ b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/UIButton+WebCache.h @@ -0,0 +1,173 @@ +/* + * This file is part of the SDWebImage package. + * (c) Olivier Poitrey + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +#import "SDWebImageCompat.h" +#import "SDWebImageManager.h" + +/** + * Integrates SDWebImage async downloading and caching of remote images with UIButtonView. + */ +@interface UIButton (WebCache) + +/** + * Set the imageView `image` with an `url`. + * + * The downloand is asynchronous and cached. + * + * @param url The url for the image. + * @param state The state that uses the specified title. The values are described in UIControlState. + */ +- (void)setImageWithURL:(NSURL *)url forState:(UIControlState)state; + +/** + * Set the imageView `image` with an `url` and a placeholder. + * + * The downloand is asynchronous and cached. + * + * @param url The url for the image. + * @param state The state that uses the specified title. The values are described in UIControlState. + * @param placeholder The image to be set initially, until the image request finishes. + * @see setImageWithURL:placeholderImage:options: + */ +- (void)setImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder; + +/** + * Set the imageView `image` with an `url`, placeholder and custom options. + * + * The downloand is asynchronous and cached. + * + * @param url The url for the image. + * @param state The state that uses the specified title. The values are described in UIControlState. + * @param placeholder The image to be set initially, until the image request finishes. + * @param options The options to use when downloading the image. @see SDWebImageOptions for the possible values. + */ +- (void)setImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options; + +/** + * Set the imageView `image` with an `url`. + * + * The downloand is asynchronous and cached. + * + * @param url The url for the image. + * @param state The state that uses the specified title. The values are described in UIControlState. + * @param completedBlock A block called when operation has been completed. This block as no return value + * and takes the requested UIImage as first parameter. In case of error the image parameter + * is nil and the second parameter may contain an NSError. The third parameter is a Boolean + * indicating if the image was retrived from the local cache of from the network. + */ +- (void)setImageWithURL:(NSURL *)url forState:(UIControlState)state completed:(SDWebImageCompletedBlock)completedBlock; + +/** + * Set the imageView `image` with an `url`, placeholder. + * + * The downloand is asynchronous and cached. + * + * @param url The url for the image. + * @param state The state that uses the specified title. The values are described in UIControlState. + * @param placeholder The image to be set initially, until the image request finishes. + * @param completedBlock A block called when operation has been completed. This block as no return value + * and takes the requested UIImage as first parameter. In case of error the image parameter + * is nil and the second parameter may contain an NSError. The third parameter is a Boolean + * indicating if the image was retrived from the local cache of from the network. + */ +- (void)setImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder completed:(SDWebImageCompletedBlock)completedBlock; + +/** + * Set the imageView `image` with an `url`, placeholder and custom options. + * + * The downloand is asynchronous and cached. + * + * @param url The url for the image. + * @param state The state that uses the specified title. The values are described in UIControlState. + * @param placeholder The image to be set initially, until the image request finishes. + * @param options The options to use when downloading the image. @see SDWebImageOptions for the possible values. + * @param completedBlock A block called when operation has been completed. This block as no return value + * and takes the requested UIImage as first parameter. In case of error the image parameter + * is nil and the second parameter may contain an NSError. The third parameter is a Boolean + * indicating if the image was retrived from the local cache of from the network. + */ +- (void)setImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options completed:(SDWebImageCompletedBlock)completedBlock; + +/** + * Set the backgroundImageView `image` with an `url`. + * + * The downloand is asynchronous and cached. + * + * @param url The url for the image. + * @param state The state that uses the specified title. The values are described in UIControlState. + */ +- (void)setBackgroundImageWithURL:(NSURL *)url forState:(UIControlState)state; + +/** + * Set the backgroundImageView `image` with an `url` and a placeholder. + * + * The downloand is asynchronous and cached. + * + * @param url The url for the image. + * @param state The state that uses the specified title. The values are described in UIControlState. + * @param placeholder The image to be set initially, until the image request finishes. + * @see setImageWithURL:placeholderImage:options: + */ +- (void)setBackgroundImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder; + +/** + * Set the backgroundImageView `image` with an `url`, placeholder and custom options. + * + * The downloand is asynchronous and cached. + * + * @param url The url for the image. + * @param state The state that uses the specified title. The values are described in UIControlState. + * @param placeholder The image to be set initially, until the image request finishes. + * @param options The options to use when downloading the image. @see SDWebImageOptions for the possible values. + */ +- (void)setBackgroundImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options; + +/** + * Set the backgroundImageView `image` with an `url`. + * + * The downloand is asynchronous and cached. + * + * @param url The url for the image. + * @param state The state that uses the specified title. The values are described in UIControlState. + * @param success A block to be executed when the image request succeed This block has no return value and takes the retrieved image as argument. + * @param failure A block object to be executed when the image request failed. This block has no return value and takes the error object describing the network or parsing error that occurred (may be nil). + */ +- (void)setBackgroundImageWithURL:(NSURL *)url forState:(UIControlState)state completed:(SDWebImageCompletedBlock)completedBlock; + +/** + * Set the backgroundImageView `image` with an `url`, placeholder. + * + * The downloand is asynchronous and cached. + * + * @param url The url for the image. + * @param state The state that uses the specified title. The values are described in UIControlState. + * @param placeholder The image to be set initially, until the image request finishes. + * @param success A block to be executed when the image request succeed This block has no return value and takes the retrieved image as argument. + * @param failure A block object to be executed when the image request failed. This block has no return value and takes the error object describing the network or parsing error that occurred (may be nil). + */ +- (void)setBackgroundImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder completed:(SDWebImageCompletedBlock)completedBlock; + +/** + * Set the backgroundImageView `image` with an `url`, placeholder and custom options. + * + * The downloand is asynchronous and cached. + * + * @param url The url for the image. + * @param placeholder The image to be set initially, until the image request finishes. + * @param options The options to use when downloading the image. @see SDWebImageOptions for the possible values. + * @param success A block to be executed when the image request succeed This block has no return value and takes the retrieved image as argument. + * @param failure A block object to be executed when the image request failed. This block has no return value and takes the error object describing the network or parsing error that occurred (may be nil). + */ +- (void)setBackgroundImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options completed:(SDWebImageCompletedBlock)completedBlock; + +/** + * Cancel the current download + */ +- (void)cancelCurrentImageLoad; + +@end diff --git a/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/UIButton+WebCache.m b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/UIButton+WebCache.m new file mode 100644 index 0000000..53c99a5 --- /dev/null +++ b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/UIButton+WebCache.m @@ -0,0 +1,129 @@ +/* + * This file is part of the SDWebImage package. + * (c) Olivier Poitrey + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +#import "UIButton+WebCache.h" +#import "objc/runtime.h" + +static char operationKey; + +@implementation UIButton (WebCache) + +- (void)setImageWithURL:(NSURL *)url forState:(UIControlState)state +{ + [self setImageWithURL:url forState:state placeholderImage:nil options:0 completed:nil]; +} + +- (void)setImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder +{ + [self setImageWithURL:url forState:state placeholderImage:placeholder options:0 completed:nil]; +} + +- (void)setImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options +{ + [self setImageWithURL:url forState:state placeholderImage:placeholder options:options completed:nil]; +} + +- (void)setImageWithURL:(NSURL *)url forState:(UIControlState)state completed:(SDWebImageCompletedBlock)completedBlock +{ + [self setImageWithURL:url forState:state placeholderImage:nil options:0 completed:completedBlock]; +} +- (void)setImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder completed:(SDWebImageCompletedBlock)completedBlock +{ + [self setImageWithURL:url forState:state placeholderImage:placeholder options:0 completed:completedBlock]; +} + +- (void)setImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options completed:(SDWebImageCompletedBlock)completedBlock +{ + [self cancelCurrentImageLoad]; + + [self setImage:placeholder forState:state]; + + if (url) + { + __weak UIButton *wself = self; + id operation = [SDWebImageManager.sharedManager downloadWithURL:url options:options progress:nil completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished) + { + __strong UIButton *sself = wself; + if (!sself) return; + if (image) + { + [sself setImage:image forState:state]; + } + if (completedBlock && finished) + { + completedBlock(image, error, cacheType); + } + }]; + objc_setAssociatedObject(self, &operationKey, operation, OBJC_ASSOCIATION_RETAIN_NONATOMIC); + } +} + +- (void)setBackgroundImageWithURL:(NSURL *)url forState:(UIControlState)state +{ + [self setBackgroundImageWithURL:url forState:state placeholderImage:nil options:0 completed:nil]; +} + +- (void)setBackgroundImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder +{ + [self setBackgroundImageWithURL:url forState:state placeholderImage:placeholder options:0 completed:nil]; +} + +- (void)setBackgroundImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options +{ + [self setBackgroundImageWithURL:url forState:state placeholderImage:placeholder options:options completed:nil]; +} + +- (void)setBackgroundImageWithURL:(NSURL *)url forState:(UIControlState)state completed:(SDWebImageCompletedBlock)completedBlock +{ + [self setBackgroundImageWithURL:url forState:state placeholderImage:nil options:0 completed:completedBlock]; +} + +- (void)setBackgroundImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder completed:(SDWebImageCompletedBlock)completedBlock +{ + [self setBackgroundImageWithURL:url forState:state placeholderImage:placeholder options:0 completed:completedBlock]; +} + +- (void)setBackgroundImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options completed:(SDWebImageCompletedBlock)completedBlock +{ + [self cancelCurrentImageLoad]; + + [self setBackgroundImage:placeholder forState:state]; + + if (url) + { + __weak UIButton *wself = self; + id operation = [SDWebImageManager.sharedManager downloadWithURL:url options:options progress:nil completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished) + { + __strong UIButton *sself = wself; + if (!sself) return; + if (image) + { + [sself setBackgroundImage:image forState:state]; + } + if (completedBlock && finished) + { + completedBlock(image, error, cacheType); + } + }]; + objc_setAssociatedObject(self, &operationKey, operation, OBJC_ASSOCIATION_RETAIN_NONATOMIC); + } +} + + +- (void)cancelCurrentImageLoad +{ + // Cancel in progress downloader from queue + id operation = objc_getAssociatedObject(self, &operationKey); + if (operation) + { + [operation cancel]; + objc_setAssociatedObject(self, &operationKey, nil, OBJC_ASSOCIATION_RETAIN_NONATOMIC); + } +} + +@end diff --git a/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/UIImageView+WebCache.h b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/UIImageView+WebCache.h new file mode 100644 index 0000000..ed6427a --- /dev/null +++ b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/UIImageView+WebCache.h @@ -0,0 +1,140 @@ +/* + * This file is part of the SDWebImage package. + * (c) Olivier Poitrey + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +#import "SDWebImageCompat.h" +#import "SDWebImageManager.h" + +/** + * Integrates SDWebImage async downloading and caching of remote images with UIImageView. + * + * Usage with a UITableViewCell sub-class: + * + * #import + * + * ... + * + * - (UITableViewCell *)tableView:(UITableView *)tableView + * cellForRowAtIndexPath:(NSIndexPath *)indexPath + * { + * static NSString *MyIdentifier = @"MyIdentifier"; + * + * UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier]; + * + * if (cell == nil) + * { + * cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault + * reuseIdentifier:MyIdentifier] autorelease]; + * } + * + * // Here we use the provided setImageWithURL: method to load the web image + * // Ensure you use a placeholder image otherwise cells will be initialized with no image + * [cell.imageView setImageWithURL:[NSURL URLWithString:@"http://example.com/image.jpg"] + * placeholderImage:[UIImage imageNamed:@"placeholder"]]; + * + * cell.textLabel.text = @"My Text"; + * return cell; + * } + * + */ +@interface UIImageView (WebCache) + +/** + * Set the imageView `image` with an `url`. + * + * The downloand is asynchronous and cached. + * + * @param url The url for the image. + */ +- (void)setImageWithURL:(NSURL *)url; + +/** + * Set the imageView `image` with an `url` and a placeholder. + * + * The downloand is asynchronous and cached. + * + * @param url The url for the image. + * @param placeholder The image to be set initially, until the image request finishes. + * @see setImageWithURL:placeholderImage:options: + */ +- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder; + +/** + * Set the imageView `image` with an `url`, placeholder and custom options. + * + * The downloand is asynchronous and cached. + * + * @param url The url for the image. + * @param placeholder The image to be set initially, until the image request finishes. + * @param options The options to use when downloading the image. @see SDWebImageOptions for the possible values. + */ +- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options; + +/** + * Set the imageView `image` with an `url`. + * + * The downloand is asynchronous and cached. + * + * @param url The url for the image. + * @param completedBlock A block called when operation has been completed. This block as no return value + * and takes the requested UIImage as first parameter. In case of error the image parameter + * is nil and the second parameter may contain an NSError. The third parameter is a Boolean + * indicating if the image was retrived from the local cache of from the network. + */ +- (void)setImageWithURL:(NSURL *)url completed:(SDWebImageCompletedBlock)completedBlock; + +/** + * Set the imageView `image` with an `url`, placeholder. + * + * The downloand is asynchronous and cached. + * + * @param url The url for the image. + * @param placeholder The image to be set initially, until the image request finishes. + * @param completedBlock A block called when operation has been completed. This block as no return value + * and takes the requested UIImage as first parameter. In case of error the image parameter + * is nil and the second parameter may contain an NSError. The third parameter is a Boolean + * indicating if the image was retrived from the local cache of from the network. + */ +- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder completed:(SDWebImageCompletedBlock)completedBlock; + +/** + * Set the imageView `image` with an `url`, placeholder and custom options. + * + * The downloand is asynchronous and cached. + * + * @param url The url for the image. + * @param placeholder The image to be set initially, until the image request finishes. + * @param options The options to use when downloading the image. @see SDWebImageOptions for the possible values. + * @param completedBlock A block called when operation has been completed. This block as no return value + * and takes the requested UIImage as first parameter. In case of error the image parameter + * is nil and the second parameter may contain an NSError. The third parameter is a Boolean + * indicating if the image was retrived from the local cache of from the network. + */ +- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options completed:(SDWebImageCompletedBlock)completedBlock; + +/** + * Set the imageView `image` with an `url`, placeholder and custom options. + * + * The downloand is asynchronous and cached. + * + * @param url The url for the image. + * @param placeholder The image to be set initially, until the image request finishes. + * @param options The options to use when downloading the image. @see SDWebImageOptions for the possible values. + * @param progressBlock A block called while image is downloading + * @param completedBlock A block called when operation has been completed. This block as no return value + * and takes the requested UIImage as first parameter. In case of error the image parameter + * is nil and the second parameter may contain an NSError. The third parameter is a Boolean + * indicating if the image was retrived from the local cache of from the network. + */ +- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options progress:(SDWebImageDownloaderProgressBlock)progressBlock completed:(SDWebImageCompletedBlock)completedBlock; + +/** + * Cancel the current download + */ +- (void)cancelCurrentImageLoad; + +@end diff --git a/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/UIImageView+WebCache.m b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/UIImageView+WebCache.m new file mode 100644 index 0000000..01eab54 --- /dev/null +++ b/RETableViewManagerExample/Pods/SDWebImage/SDWebImage/UIImageView+WebCache.m @@ -0,0 +1,84 @@ +/* + * This file is part of the SDWebImage package. + * (c) Olivier Poitrey + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +#import "UIImageView+WebCache.h" +#import "objc/runtime.h" + +static char operationKey; + +@implementation UIImageView (WebCache) + +- (void)setImageWithURL:(NSURL *)url +{ + [self setImageWithURL:url placeholderImage:nil options:0 progress:nil completed:nil]; +} + +- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder +{ + [self setImageWithURL:url placeholderImage:placeholder options:0 progress:nil completed:nil]; +} + +- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options +{ + [self setImageWithURL:url placeholderImage:placeholder options:options progress:nil completed:nil]; +} + +- (void)setImageWithURL:(NSURL *)url completed:(SDWebImageCompletedBlock)completedBlock +{ + [self setImageWithURL:url placeholderImage:nil options:0 progress:nil completed:completedBlock]; +} + +- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder completed:(SDWebImageCompletedBlock)completedBlock +{ + [self setImageWithURL:url placeholderImage:placeholder options:0 progress:nil completed:completedBlock]; +} + +- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options completed:(SDWebImageCompletedBlock)completedBlock +{ + [self setImageWithURL:url placeholderImage:placeholder options:options progress:nil completed:completedBlock]; +} + +- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options progress:(SDWebImageDownloaderProgressBlock)progressBlock completed:(SDWebImageCompletedBlock)completedBlock; +{ + [self cancelCurrentImageLoad]; + + self.image = placeholder; + + if (url) + { + __weak UIImageView *wself = self; + id operation = [SDWebImageManager.sharedManager downloadWithURL:url options:options progress:progressBlock completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished) + { + __strong UIImageView *sself = wself; + if (!sself) return; + if (image) + { + sself.image = image; + [sself setNeedsLayout]; + } + if (completedBlock && finished) + { + completedBlock(image, error, cacheType); + } + }]; + objc_setAssociatedObject(self, &operationKey, operation, OBJC_ASSOCIATION_RETAIN_NONATOMIC); + } +} + +- (void)cancelCurrentImageLoad +{ + // Cancel in progress downloader from queue + id operation = objc_getAssociatedObject(self, &operationKey); + if (operation) + { + [operation cancel]; + objc_setAssociatedObject(self, &operationKey, nil, OBJC_ASSOCIATION_RETAIN_NONATOMIC); + } +} + +@end diff --git a/RETableViewManagerExample/RETableViewManagerExample.xcodeproj/project.pbxproj b/RETableViewManagerExample/RETableViewManagerExample.xcodeproj/project.pbxproj index d989d02..9b55473 100644 --- a/RETableViewManagerExample/RETableViewManagerExample.xcodeproj/project.pbxproj +++ b/RETableViewManagerExample/RETableViewManagerExample.xcodeproj/project.pbxproj @@ -7,7 +7,12 @@ objects = { /* Begin PBXBuildFile section */ - 3006800116F637460061B648 /* ListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3006800016F637460061B648 /* ListViewController.m */; }; + 302D2150170B25B10085654F /* ControlsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 302D214A170B25B10085654F /* ControlsViewController.m */; }; + 302D2151170B25B10085654F /* ListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 302D214C170B25B10085654F /* ListViewController.m */; }; + 302D2152170B25B10085654F /* RootViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 302D214E170B25B10085654F /* RootViewController.m */; }; + 302D2155170B25D90085654F /* ListHeaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = 302D2154170B25D90085654F /* ListHeaderView.m */; }; + 302D2160170B27BD0085654F /* ListImageItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 302D215F170B27BD0085654F /* ListImageItem.m */; }; + 302D2163170B27ED0085654F /* ListImageCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 302D2162170B27ED0085654F /* ListImageCell.m */; }; 30DB066A16E934AD006C9530 /* RETableViewBoolCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 30DB064916E934AD006C9530 /* RETableViewBoolCell.m */; }; 30DB066B16E934AD006C9530 /* RETableViewCreditCardCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 30DB064B16E934AD006C9530 /* RETableViewCreditCardCell.m */; }; 30DB066C16E934AD006C9530 /* RETableViewNumberCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 30DB064D16E934AD006C9530 /* RETableViewNumberCell.m */; }; @@ -35,13 +40,22 @@ 30EF93C516E039B800B84981 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = 30EF93C416E039B800B84981 /* Default.png */; }; 30EF93C716E039B800B84981 /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 30EF93C616E039B800B84981 /* Default@2x.png */; }; 30EF93C916E039B800B84981 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 30EF93C816E039B800B84981 /* Default-568h@2x.png */; }; - 30EF93F216E039D500B84981 /* RootViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 30EF93F116E039D500B84981 /* RootViewController.m */; }; - 30EF93F816E03D1F00B84981 /* ControlsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 30EF93F716E03D1F00B84981 /* ControlsViewController.m */; }; + E336F792A48A4E779EEA5AC0 /* libPods.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ABAE09A51FA5498F94EE3798 /* libPods.a */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ - 30067FFF16F637460061B648 /* ListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ListViewController.h; sourceTree = ""; }; - 3006800016F637460061B648 /* ListViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ListViewController.m; sourceTree = ""; }; + 302D2149170B25B10085654F /* ControlsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ControlsViewController.h; sourceTree = ""; }; + 302D214A170B25B10085654F /* ControlsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ControlsViewController.m; sourceTree = ""; }; + 302D214B170B25B10085654F /* ListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ListViewController.h; sourceTree = ""; }; + 302D214C170B25B10085654F /* ListViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ListViewController.m; sourceTree = ""; }; + 302D214D170B25B10085654F /* RootViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RootViewController.h; sourceTree = ""; }; + 302D214E170B25B10085654F /* RootViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RootViewController.m; sourceTree = ""; }; + 302D2153170B25D90085654F /* ListHeaderView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ListHeaderView.h; sourceTree = ""; }; + 302D2154170B25D90085654F /* ListHeaderView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ListHeaderView.m; sourceTree = ""; }; + 302D215E170B27BD0085654F /* ListImageItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ListImageItem.h; sourceTree = ""; }; + 302D215F170B27BD0085654F /* ListImageItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ListImageItem.m; sourceTree = ""; }; + 302D2161170B27ED0085654F /* ListImageCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ListImageCell.h; sourceTree = ""; }; + 302D2162170B27ED0085654F /* ListImageCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ListImageCell.m; sourceTree = ""; }; 30DB064816E934AD006C9530 /* RETableViewBoolCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RETableViewBoolCell.h; sourceTree = ""; }; 30DB064916E934AD006C9530 /* RETableViewBoolCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RETableViewBoolCell.m; sourceTree = ""; }; 30DB064A16E934AD006C9530 /* RETableViewCreditCardCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RETableViewCreditCardCell.h; sourceTree = ""; }; @@ -90,10 +104,8 @@ 30EF93C416E039B800B84981 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = ""; }; 30EF93C616E039B800B84981 /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = ""; }; 30EF93C816E039B800B84981 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; - 30EF93F016E039D500B84981 /* RootViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RootViewController.h; sourceTree = ""; }; - 30EF93F116E039D500B84981 /* RootViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RootViewController.m; sourceTree = ""; }; - 30EF93F616E03D1F00B84981 /* ControlsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ControlsViewController.h; sourceTree = ""; }; - 30EF93F716E03D1F00B84981 /* ControlsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ControlsViewController.m; sourceTree = ""; }; + A20B0252928045F5B81B21AF /* Pods.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.xcconfig; path = Pods/Pods.xcconfig; sourceTree = SOURCE_ROOT; }; + ABAE09A51FA5498F94EE3798 /* libPods.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPods.a; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -104,12 +116,56 @@ 30EF93B316E039B800B84981 /* UIKit.framework in Frameworks */, 30EF93B516E039B800B84981 /* Foundation.framework in Frameworks */, 30EF93B716E039B800B84981 /* CoreGraphics.framework in Frameworks */, + E336F792A48A4E779EEA5AC0 /* libPods.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 302D2147170B25B10085654F /* Classes */ = { + isa = PBXGroup; + children = ( + 302D2148170B25B10085654F /* Controllers */, + 302D215D170B27BD0085654F /* Models */, + 302D214F170B25B10085654F /* Views */, + ); + path = Classes; + sourceTree = ""; + }; + 302D2148170B25B10085654F /* Controllers */ = { + isa = PBXGroup; + children = ( + 302D2149170B25B10085654F /* ControlsViewController.h */, + 302D214A170B25B10085654F /* ControlsViewController.m */, + 302D214B170B25B10085654F /* ListViewController.h */, + 302D214C170B25B10085654F /* ListViewController.m */, + 302D214D170B25B10085654F /* RootViewController.h */, + 302D214E170B25B10085654F /* RootViewController.m */, + ); + path = Controllers; + sourceTree = ""; + }; + 302D214F170B25B10085654F /* Views */ = { + isa = PBXGroup; + children = ( + 302D2153170B25D90085654F /* ListHeaderView.h */, + 302D2154170B25D90085654F /* ListHeaderView.m */, + 302D2161170B27ED0085654F /* ListImageCell.h */, + 302D2162170B27ED0085654F /* ListImageCell.m */, + ); + path = Views; + sourceTree = ""; + }; + 302D215D170B27BD0085654F /* Models */ = { + isa = PBXGroup; + children = ( + 302D215E170B27BD0085654F /* ListImageItem.h */, + 302D215F170B27BD0085654F /* ListImageItem.m */, + ); + path = Models; + sourceTree = ""; + }; 30DB064616E934AD006C9530 /* RETableViewManager */ = { isa = PBXGroup; children = ( @@ -185,6 +241,7 @@ 30EF93B816E039B800B84981 /* RETableViewManagerExample */, 30EF93B116E039B800B84981 /* Frameworks */, 30EF93B016E039B800B84981 /* Products */, + A20B0252928045F5B81B21AF /* Pods.xcconfig */, ); sourceTree = ""; }; @@ -202,6 +259,7 @@ 30EF93B216E039B800B84981 /* UIKit.framework */, 30EF93B416E039B800B84981 /* Foundation.framework */, 30EF93B616E039B800B84981 /* CoreGraphics.framework */, + ABAE09A51FA5498F94EE3798 /* libPods.a */, ); name = Frameworks; sourceTree = ""; @@ -209,15 +267,10 @@ 30EF93B816E039B800B84981 /* RETableViewManagerExample */ = { isa = PBXGroup; children = ( - 30EF93B916E039B800B84981 /* Supporting Files */, 30EF93C116E039B800B84981 /* AppDelegate.h */, 30EF93C216E039B800B84981 /* AppDelegate.m */, - 30EF93F016E039D500B84981 /* RootViewController.h */, - 30EF93F116E039D500B84981 /* RootViewController.m */, - 30EF93F616E03D1F00B84981 /* ControlsViewController.h */, - 30EF93F716E03D1F00B84981 /* ControlsViewController.m */, - 30067FFF16F637460061B648 /* ListViewController.h */, - 3006800016F637460061B648 /* ListViewController.m */, + 302D2147170B25B10085654F /* Classes */, + 30EF93B916E039B800B84981 /* Supporting Files */, ); path = RETableViewManagerExample; sourceTree = ""; @@ -246,6 +299,7 @@ 30EF93AB16E039B800B84981 /* Sources */, 30EF93AC16E039B800B84981 /* Frameworks */, 30EF93AD16E039B800B84981 /* Resources */, + A3C73B158834401688EF8E25 /* Copy Pods Resources */, ); buildRules = ( ); @@ -297,6 +351,23 @@ }; /* End PBXResourcesBuildPhase section */ +/* Begin PBXShellScriptBuildPhase section */ + A3C73B158834401688EF8E25 /* Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Copy Pods Resources"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Pods-resources.sh\"\n"; + }; +/* End PBXShellScriptBuildPhase section */ + /* Begin PBXSourcesBuildPhase section */ 30EF93AB16E039B800B84981 /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -304,8 +375,6 @@ files = ( 30EF93BF16E039B800B84981 /* main.m in Sources */, 30EF93C316E039B800B84981 /* AppDelegate.m in Sources */, - 30EF93F216E039D500B84981 /* RootViewController.m in Sources */, - 30EF93F816E03D1F00B84981 /* ControlsViewController.m in Sources */, 30DB066A16E934AD006C9530 /* RETableViewBoolCell.m in Sources */, 30DB066B16E934AD006C9530 /* RETableViewCreditCardCell.m in Sources */, 30DB066C16E934AD006C9530 /* RETableViewNumberCell.m in Sources */, @@ -323,7 +392,12 @@ 30DB067916E934AD006C9530 /* RETableViewManager.m in Sources */, 30DB067A16E934AD006C9530 /* RETableViewSection.m in Sources */, 30DB067E16E934C5006C9530 /* REFormattedNumberField.m in Sources */, - 3006800116F637460061B648 /* ListViewController.m in Sources */, + 302D2150170B25B10085654F /* ControlsViewController.m in Sources */, + 302D2151170B25B10085654F /* ListViewController.m in Sources */, + 302D2152170B25B10085654F /* RootViewController.m in Sources */, + 302D2155170B25D90085654F /* ListHeaderView.m in Sources */, + 302D2160170B27BD0085654F /* ListImageItem.m in Sources */, + 302D2163170B27ED0085654F /* ListImageCell.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -399,6 +473,7 @@ }; 30EF93CD16E039B800B84981 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = A20B0252928045F5B81B21AF /* Pods.xcconfig */; buildSettings = { GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "RETableViewManagerExample/RETableViewManagerExample-Prefix.pch"; @@ -412,6 +487,7 @@ }; 30EF93CE16E039B800B84981 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = A20B0252928045F5B81B21AF /* Pods.xcconfig */; buildSettings = { GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "RETableViewManagerExample/RETableViewManagerExample-Prefix.pch"; diff --git a/RETableViewManagerExample/RETableViewManagerExample/ControlsViewController.h b/RETableViewManagerExample/RETableViewManagerExample/Classes/Controllers/ControlsViewController.h similarity index 75% rename from RETableViewManagerExample/RETableViewManagerExample/ControlsViewController.h rename to RETableViewManagerExample/RETableViewManagerExample/Classes/Controllers/ControlsViewController.h index bc0382d..2f06e8d 100644 --- a/RETableViewManagerExample/RETableViewManagerExample/ControlsViewController.h +++ b/RETableViewManagerExample/RETableViewManagerExample/Classes/Controllers/ControlsViewController.h @@ -9,8 +9,8 @@ #import #import "RETableViewManager.h" -@interface ControlsViewController : UITableViewController { - RETableViewManager *_manager; -} +@interface ControlsViewController : UITableViewController + +@property (strong, readonly, nonatomic) RETableViewManager *manager; @end diff --git a/RETableViewManagerExample/RETableViewManagerExample/ControlsViewController.m b/RETableViewManagerExample/RETableViewManagerExample/Classes/Controllers/ControlsViewController.m similarity index 100% rename from RETableViewManagerExample/RETableViewManagerExample/ControlsViewController.m rename to RETableViewManagerExample/RETableViewManagerExample/Classes/Controllers/ControlsViewController.m diff --git a/RETableViewManagerExample/RETableViewManagerExample/ListViewController.h b/RETableViewManagerExample/RETableViewManagerExample/Classes/Controllers/ListViewController.h similarity index 71% rename from RETableViewManagerExample/RETableViewManagerExample/ListViewController.h rename to RETableViewManagerExample/RETableViewManagerExample/Classes/Controllers/ListViewController.h index dd6c9bb..1733cd3 100644 --- a/RETableViewManagerExample/RETableViewManagerExample/ListViewController.h +++ b/RETableViewManagerExample/RETableViewManagerExample/Classes/Controllers/ListViewController.h @@ -7,7 +7,10 @@ // #import +#import "RETableViewManager.h" @interface ListViewController : UITableViewController +@property (strong, readonly, nonatomic) RETableViewManager *manager; + @end diff --git a/RETableViewManagerExample/RETableViewManagerExample/Classes/Controllers/ListViewController.m b/RETableViewManagerExample/RETableViewManagerExample/Classes/Controllers/ListViewController.m new file mode 100644 index 0000000..2c630d2 --- /dev/null +++ b/RETableViewManagerExample/RETableViewManagerExample/Classes/Controllers/ListViewController.m @@ -0,0 +1,76 @@ +// +// ListViewController.m +// RETableViewManagerExample +// +// Created by Roman Efimov on 3/17/13. +// Copyright (c) 2013 Roman Efimov. All rights reserved. +// + +#import "ListViewController.h" +#import "ListHeaderView.h" +#import "ListImageItem.h" + +@interface ListViewController () + +@end + +@implementation ListViewController + +- (void)viewDidLoad +{ + [super viewDidLoad]; + self.title = @"List"; + + // Create manager + // + _manager = [[RETableViewManager alloc] init]; + + // Map item to a cell + // + [_manager mapObjectClass:@"ListImageItem" toTableViewCellClass:@"ListImageCell"]; + + // Set delegate and datasource + // + self.tableView.dataSource = _manager; + self.tableView.delegate = _manager; + + // Setup mappgin + + // Set some UITableView properties + // + self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone; + + NSArray *items = @[@{@"username": @"john", + @"userpic_url": @"http://uifaces.com/faces/_twitter/utroda_120.jpg", + @"image_url": @"http://distilleryimage10.instagram.com/09b742a2962611e2a84922000a1f8c0f_7.jpg"}, + + @{@"username": @"mark", + @"userpic_url": @"http://uifaces.com/faces/_twitter/eldelentes_120.jpg", + @"image_url": @"http://distilleryimage10.instagram.com/09b742a2962611e2a84922000a1f8c0f_7.jpg"}, + + @{@"username": @"william", + @"userpic_url": @"http://uifaces.com/faces/_twitter/daniel_love_120.jpg", + @"image_url": @"http://distilleryimage10.instagram.com/09b742a2962611e2a84922000a1f8c0f_7.jpg"}, + + @{@"username": @"gretchen", + @"userpic_url": @"http://uifaces.com/faces/_twitter/JuliaYunLiu_120.jpg", + @"image_url": @"http://distilleryimage10.instagram.com/09b742a2962611e2a84922000a1f8c0f_7.jpg"} + ]; + + RETableViewSection *section; + + for (NSDictionary *dictionary in items) { + NSString *username = [dictionary objectForKey:@"username"]; + NSURL *userpicURL = [NSURL URLWithString:[dictionary objectForKey:@"userpic_url"]]; + NSURL *imageURL = [NSURL URLWithString:[dictionary objectForKey:@"image_url"]]; + + // Create section + // + section = [[RETableViewSection alloc] initWithHeaderView:[ListHeaderView headerViewWithImageURL:userpicURL username:username]]; + [_manager addSection:section]; + + [section addItem:[ListImageItem itemWithImageURL:imageURL]]; + } +} + +@end diff --git a/RETableViewManagerExample/RETableViewManagerExample/RootViewController.h b/RETableViewManagerExample/RETableViewManagerExample/Classes/Controllers/RootViewController.h similarity index 100% rename from RETableViewManagerExample/RETableViewManagerExample/RootViewController.h rename to RETableViewManagerExample/RETableViewManagerExample/Classes/Controllers/RootViewController.h diff --git a/RETableViewManagerExample/RETableViewManagerExample/RootViewController.m b/RETableViewManagerExample/RETableViewManagerExample/Classes/Controllers/RootViewController.m similarity index 100% rename from RETableViewManagerExample/RETableViewManagerExample/RootViewController.m rename to RETableViewManagerExample/RETableViewManagerExample/Classes/Controllers/RootViewController.m diff --git a/RETableViewManagerExample/RETableViewManagerExample/Classes/Models/ListImageItem.h b/RETableViewManagerExample/RETableViewManagerExample/Classes/Models/ListImageItem.h new file mode 100644 index 0000000..02b7c7b --- /dev/null +++ b/RETableViewManagerExample/RETableViewManagerExample/Classes/Models/ListImageItem.h @@ -0,0 +1,17 @@ +// +// ListImageItem.h +// RETableViewManagerExample +// +// Created by Roman Efimov on 4/2/13. +// Copyright (c) 2013 Roman Efimov. All rights reserved. +// + +#import "RETableViewItem.h" + +@interface ListImageItem : RETableViewItem + +@property (strong, readwrite, nonatomic) NSURL *imageURL; + ++ (ListImageItem *)itemWithImageURL:(NSURL *)imageURL; + +@end diff --git a/RETableViewManagerExample/RETableViewManagerExample/Classes/Models/ListImageItem.m b/RETableViewManagerExample/RETableViewManagerExample/Classes/Models/ListImageItem.m new file mode 100644 index 0000000..5a2ea2c --- /dev/null +++ b/RETableViewManagerExample/RETableViewManagerExample/Classes/Models/ListImageItem.m @@ -0,0 +1,20 @@ +// +// ListImageItem.m +// RETableViewManagerExample +// +// Created by Roman Efimov on 4/2/13. +// Copyright (c) 2013 Roman Efimov. All rights reserved. +// + +#import "ListImageItem.h" + +@implementation ListImageItem + ++ (ListImageItem *)itemWithImageURL:(NSURL *)imageURL +{ + ListImageItem *item = [[ListImageItem alloc] init]; + item.imageURL = imageURL; + return item; +} + +@end diff --git a/RETableViewManagerExample/RETableViewManagerExample/Classes/Views/ListHeaderView.h b/RETableViewManagerExample/RETableViewManagerExample/Classes/Views/ListHeaderView.h new file mode 100644 index 0000000..9c3157a --- /dev/null +++ b/RETableViewManagerExample/RETableViewManagerExample/Classes/Views/ListHeaderView.h @@ -0,0 +1,18 @@ +// +// ListHeaderView.h +// RETableViewManagerExample +// +// Created by Roman Efimov on 4/2/13. +// Copyright (c) 2013 Roman Efimov. All rights reserved. +// + +#import + +@interface ListHeaderView : UIView + +@property (strong, readonly, nonatomic) UIImageView *userpicImageView; +@property (strong, readonly, nonatomic) UILabel *usernameLabel; + ++ (ListHeaderView *)headerViewWithImageURL:(NSURL *)url username:(NSString *)username; + +@end diff --git a/RETableViewManagerExample/RETableViewManagerExample/Classes/Views/ListHeaderView.m b/RETableViewManagerExample/RETableViewManagerExample/Classes/Views/ListHeaderView.m new file mode 100644 index 0000000..8ae0ddf --- /dev/null +++ b/RETableViewManagerExample/RETableViewManagerExample/Classes/Views/ListHeaderView.m @@ -0,0 +1,43 @@ +// +// ListHeaderView.m +// RETableViewManagerExample +// +// Created by Roman Efimov on 4/2/13. +// Copyright (c) 2013 Roman Efimov. All rights reserved. +// + +#import "ListHeaderView.h" +#import + +@implementation ListHeaderView + ++ (ListHeaderView *)headerViewWithImageURL:(NSURL *)url username:(NSString *)username +{ + ListHeaderView *view = [[ListHeaderView alloc] initWithFrame:CGRectMake(0, 0, 320, 44)]; + [view.userpicImageView setImageWithURL:url]; + [view.usernameLabel setText:username]; + return view; +} + +- (id)initWithFrame:(CGRect)frame +{ + self = [super initWithFrame:frame]; + if (self) { + UIView *backgroundView = [[UIView alloc] initWithFrame:self.bounds]; + backgroundView.backgroundColor = [UIColor whiteColor]; + backgroundView.alpha = 0.9; + [self addSubview:backgroundView]; + + _userpicImageView = [[UIImageView alloc] initWithFrame:CGRectMake(7, 7, 30, 30)]; + [self addSubview:_userpicImageView]; + + _usernameLabel = [[UILabel alloc] initWithFrame:CGRectMake(45, 3, 276, 35)]; + _usernameLabel.font = [UIFont boldSystemFontOfSize:14]; + _usernameLabel.textColor = [UIColor blackColor]; + _usernameLabel.backgroundColor = [UIColor clearColor]; + [self addSubview:_usernameLabel]; + } + return self; +} + +@end diff --git a/RETableViewManagerExample/RETableViewManagerExample/Classes/Views/ListImageCell.h b/RETableViewManagerExample/RETableViewManagerExample/Classes/Views/ListImageCell.h new file mode 100644 index 0000000..8efe4c4 --- /dev/null +++ b/RETableViewManagerExample/RETableViewManagerExample/Classes/Views/ListImageCell.h @@ -0,0 +1,17 @@ +// +// ListImageCell.h +// RETableViewManagerExample +// +// Created by Roman Efimov on 4/2/13. +// Copyright (c) 2013 Roman Efimov. All rights reserved. +// + +#import "RETableViewCell.h" +#import "ListImageItem.h" + +@interface ListImageCell : RETableViewCell + +@property (strong, readonly, nonatomic) UIImageView *pictureView; +@property (strong, readwrite, nonatomic) ListImageItem *item; + +@end diff --git a/RETableViewManagerExample/RETableViewManagerExample/Classes/Views/ListImageCell.m b/RETableViewManagerExample/RETableViewManagerExample/Classes/Views/ListImageCell.m new file mode 100644 index 0000000..c000ea7 --- /dev/null +++ b/RETableViewManagerExample/RETableViewManagerExample/Classes/Views/ListImageCell.m @@ -0,0 +1,35 @@ +// +// ListImageCell.m +// RETableViewManagerExample +// +// Created by Roman Efimov on 4/2/13. +// Copyright (c) 2013 Roman Efimov. All rights reserved. +// + +#import "ListImageCell.h" +#import + +@implementation ListImageCell + ++ (CGFloat)heightWithItem:(NSObject *)item tableViewManager:(RETableViewManager *)tableViewManager +{ + return 320; +} + +- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier tableViewManager:(RETableViewManager *)tableViewManager +{ + self = [super initWithStyle:style reuseIdentifier:reuseIdentifier tableViewManager:tableViewManager]; + if (self) { + _pictureView = [[UIImageView alloc] initWithFrame:CGRectMake(7, 0, 306, 306)]; + [self addSubview:_pictureView]; + } + return self; +} + +- (void)prepare +{ + [super prepare]; + [_pictureView setImageWithURL:self.item.imageURL]; +} + +@end diff --git a/RETableViewManagerExample/RETableViewManagerExample/ListViewController.m b/RETableViewManagerExample/RETableViewManagerExample/ListViewController.m deleted file mode 100644 index 408d7bb..0000000 --- a/RETableViewManagerExample/RETableViewManagerExample/ListViewController.m +++ /dev/null @@ -1,22 +0,0 @@ -// -// ListViewController.m -// RETableViewManagerExample -// -// Created by Roman Efimov on 3/17/13. -// Copyright (c) 2013 Roman Efimov. All rights reserved. -// - -#import "ListViewController.h" - -@interface ListViewController () - -@end - -@implementation ListViewController - -- (void)viewDidLoad -{ - [super viewDidLoad]; -} - -@end