AFNetworking'i kullanarak akışlı bir JSON API'sından veri almanın en zarif yolu ne olurdu? AFNetworking, JSON API'larından gerçek zamanlı olmayan verileri almak için mükemmel destek sağlar, ancak herhangi bir JSON akışı örneği bulamadım.AFNetworking üzerinden JSO'yu Aktarma IOS
cevap
AFNetworking'in yerleşik bir akış SAX stili JSON işlemi yoktur, ancak kendi oluşturmak için doğrudan doğruya olmalıdır.
- SAX tarzı ayrıştırmayı (örneğin Yajl gibi) destekleyen bir JSON ayrıştırıcı ya bağlamak için başlatma sırasında operasyon
outputStream
özelliğini kullanınAFJSONRequestOperation
- bir alt sınıfı oluşturun. ayrıştırıcı verilerini okumak ve ayrıştırıcı
- ... ya da akış nasıl olduğunu bağlı önbelleğe alınmış nesneyi okumak için
responseJSON
özelliğini bağlayın, ihtiyacınız olabilecek bu - gelir olarak JSON nesnesi kuracaksınız Yeni JSON nesneleri geri geldiğinde (örneğin,
setReceivedJSONBlock:((^)(void (id JSON))block
) bir bloğu tanımlayan yeni bir özellik eklemek. Bu blok muhtemelen ayrıştırıcıdan gönderilen delege yöntemleri tarafından tetiklenecektir (ör.<YAJLParserDelegate> -parserDidEndDictionary:
).
Bu çalışmayı başarabilirseniz, bunu başkalarıyla paylaşmanızı ve paylaşmanızı tavsiye ederim. Bunun birkaç kişi için yararlı olabileceğini düşünüyorum.
Cevabınız için teşekkürler, önerilen yaklaşımı deneyeceğim! – akisaarinen
Bu, AFNetworking ile kolayca çalışmayacak. İlk olarak, AFURLConnectionOperation yönteminin bağlantısı: didReceiveData: doğru şekilde uygulanmadı. Sadece bağlantı tarafından sağlanan TÜM baytları her zaman tüketen akışlar için çalışır. Bu dosya akışlarını ve bellek akışlarını içerir. Bununla birlikte, bir ayrıştırıcının bir akışını bir NSURLConnectionDelegate ile "arayüzlemek" için, verileri nakletmek için bir araç olarak bir "eşzamanlı sıra" ve sabit boyutlu bir tamponu olan bir eşleştirilmiş akışı içeren daha ayrıntılı bir yaklaşım gereklidir. – CouchDeveloper
Bu konuda biraz daha açıklayabilir misiniz? JSSt ayrıştırıcısına nasıl outputStream bağlanır? –
- 1. iOS Swift: AFNetworking
- 2. iOS: Alamofire ve AFNetworking hakkında şüphelerim
- 3. iOS Resim upload by AFNetworking 2.0
- 4. iOS Bonjour İnternet üzerinden
- 5. AFNetworking
- 6. OS X, iOS üzerinden iOS iletişimine mi?
- 7. XML dosyasını iOS uygulamasına aktarma
- 8. AFNetworking sorunu: Projemde AFNetworking kullandık yetkisiz (401)
- 9. UIImageView + AFNetworking setImageWithURL AFNetworking ile animasyon
- 10. AFNetworking - UITableView
- 11. AFNetworking AFHTTPClient Sınıf
- 12. iOS için XMPPFramework üzerinden mesaj yolla
- 13. Xml .net (4.0) için IPC üzerinden aktarma Windows üzerinde Mono'ya
- 14. Komut satırı üzerinden mysql içine bir csv içe aktarma
- 15. AFNetworking 3.0 setSharedImageCache eksik
- 16. AFNetworking HTTP Proxy
- 17. AFNetworking: tamamlama bloğu
- 18. Swift Alamofire VS AFNetworking
- 19. AFNetworking 3.0 çoğul istek
- 20. AFNetworking (AFJSONRequestOperation), AFHTTPClient
- 21. ASIHTTPRequest veya AFNetworking
- 22. AFNetworking 3.0 günlüğü görüntüleme
- 23. Ağ bağlantısı AFNetworking 3.0
- 24. Görüntüyü AFNetworking 2.0 ile nasıl indirebilirim?
- 25. REST API iOS geliştirmesi
- 26. iPhone, AFNetworking kullanarak multipart dosyasını yükleme
- 27. yeniden düzenleme afnetworking sonrası isteği 3.0
- 28. Blokları AFNetworking yöntemine mi geçirdiniz?
- 29. AFNETWORKING POST parametresi nasıl alınır?
- 30. AFNetworking ve yanıt önbellek kullanımı
Hiç bu gibi bir şey aldınız mı? –
Hatırladığım kadarıyla, çok basit bir JSON akış örneğini gerçekleştirmeyi başardım, ancak çok geçmeden IOS projesine olan ilgim (bu bir CampFire istemcisi) için düştü. Hiçbir şey bitmedi maalesef bundan hiç çıkmadı. :) – akisaarinen
Yeterince adil. Güncelleme için teşekkürler! –