SORU
5 NİSAN 2009, Pazar


Oluşturma ObjectiveC içinde NSDictionary nesnelerden sorgu parametreleri URL

URL işleme tüm nesneleri standart Kakao kütüphanelerde ortalıkta (NSURL, NSMutableURL, NSMutableURLRequest, vb), istek ALMAK bir program aracılığıyla oluşturmak için kolay bir yol bakan olmalıyım biliyorum.

Şu anda ben el ile ekleme "?" ve ardından ad değer çiftleri katıldı "&", ama benim ad ve değer çiftleri olmak gerekir el ile kodlanmış çok NSMutableURLRequest değil tamamen başarısız olduğunda çalışır bağlanmak için URL.

Bunun için önceden pişmiş bir API kullanabilmek için yapmam gereken bir şey gibi geliyor.... kutunun dışında bir şey bir NSURL için sorgu parametreleri bir NSDictionary eklemek var mı? Bu yaklaşmam gerekiyor. başka bir yolu var mı?

CEVAP
23 EKİM 2014, PERŞEMBE


İOS8 ve OS X 10.10 tanıtıldı sorguları oluşturmak için kullanılabilir NSURLQueryItem,. NSURLQueryItem: docs

NSURLQueryİtem bir nesne bir URL sorgu bölümünde bir madde için tek bir ad/değer çifti temsil eder. NSURLComponents bir nesnenin queryİtems özelliği ile sorgu öğeleri kullanın.

Bir tane oluşturmak için belirlenen başlatıcı queryItemWithName:value: NSURLComponents onları NSURL Bir oluşturmak için ekleyin. Örneğin:

NSURLComponents *components = [NSURLComponents componentsWithString:@"http://stackoverflow.com"];
NSURLQueryItem *search = [NSURLQueryItem queryItemWithName:@"q" value:@"ios"];
NSURLQueryItem *count = [NSURLQueryItem queryItemWithName:@"count" value:@"10"];
components.queryItems = @[ search, count ];
NSURL *url = components.URL; // http://stackoverflow.com?q=ios&count=10

Soru işareti ve işareti otomatik olarak işlenir dikkat edin. Parametreler bir sözlük NSURL Bir oluşturma Basit olarak

NSDictionary *queryDictionary = @{ @"q": @"ios", @"count": @"10" };
NSMutableArray *queryItems = [NSMutableArray array];
for (NSString *key in queryDictionary) {
    [queryItems addObject:[NSURLQueryItem queryItemWithName:key value:queryDictionary[key]]];
}
components.queryItems = queryItems;

Ayrıca NSURLComponents NSURLQueryItems ile URL oluşturmak için nasıl blog post bir mektup yazdım.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • backyardjay

    backyardjay

    8 ŞUBAT 2009
  • ColdfusTion

    ColdfusTion

    3 Aralık 2007
  • ::..ηєѕѕ мιχ..::

    ::..ηєѕѕ

    15 Aralık 2006