ios - Web Service call returning SIGABRT -
i'm calling web service returns info of cheapest cost of object searched for. now, i'm hardcoding url search "logitech" brand items. reason, whenever effort utilize single response key phrase "title" or "id", i'm getting sigabrt error this:
terminating app due uncaught exception 'nsinvalidargumentexception', reason: '-[__nscfstring objectforkeyedsubscript:]: unrecognized selector sent instance 0x8dbc2e0'
my web service phone call in viewdidload method, , looks this:
nsstring *urlstring =@"http://us.api.invisiblehand.co.uk/v1/products?query=logitech&app_id=dad00cb7&app_key=ab386c3e1b99b58b876f237d77b4211a"; nsurl *url = [nsurl urlwithstring:urlstring]; nsdata *data = [nsdata datawithcontentsofurl:url]; nsmutablearray *itemcallarray = [nsjsonserialization jsonobjectwithdata:data options:kniloptions error:nil]; (nsdictionary *theitem in itemcallarray) { nsstring *titlestring = theitem[@"brands"]; nslog(@"%@", titlestring); }
i'm pulling hair out on one. help appreciated, , give thanks in advance :)
edit:
when log itemcallarray, (a lot of stuff):
errors = ( ); info = { start = 0; "total_results" = 4775; }; results = ( { asins = ( ); "best_page" = { currency = usd; deeplink = "http://www.electronicexpress.com/catalog/20352/logitech"; description = "<null>"; "image_url" = "http://shopping.getinvisiblehand.com/images/no_image_available.png"; "in_stock" = 1; "live_price_url" = "http://api.invisiblehand.co.uk/v1/pages/live_price?url=http%3a%2f%2fwww.electronicexpress.com%2fcatalog%2f20352%2flogitech"; "original_url" = "http://www.electronicexpress.com/catalog/20352/logitech"; pnp = 0; cost = "<null>"; "price_confidence" = low; part = us; "retailer_name" = "electronicexpress.com"; title = "logitech classic keyboard 920003199"; }; brands = ( logitech ); categories = ( ); eans = ( ); id = cc2565b3d498073b74d6fc2baa9155d3; "image_url" = "http://shopping.getinvisiblehand.com/images/no_image_available.png"; isbns = ( ); models = ( ); mpns = ( ); "number_of_pages" = 1; resource = "/products/cc2565b3d498073b74d6fc2baa9155d3"; title = "logitech classic keyboard 920003199"; upcs = ( ); }, { asins = ( ); "best_page" = { currency = usd; deeplink = "http://www.electronicexpress.com/catalog/17951/logitech"; description = "<null>"; "image_url" = "http://shopping.getinvisiblehand.com/images/no_image_available.png"; "in_stock" = 1; "live_price_url" = "http://api.invisiblehand.co.uk/v1/pages/live_price?url=http%3a%2f%2fwww.electronicexpress.com%2fcatalog%2f17951%2flogitech"; "original_url" = "http://www.electronicexpress.com/catalog/17951/logitech"; pnp = 0; cost = "<null>"; "price_confidence" = low; part = us; "retailer_name" = "electronicexpress.com"; title = "logitech k120 usb keyboard 920002478"; }; brands = ( logitech ); categories = ( ); eans = ( ); id = d46e49d5b7a0f85f5b7e4eaaeded480e; "image_url" = "http://shopping.getinvisiblehand.com/images/no_image_available.png"; isbns = ( ); models = ( ); mpns = ( ); "number_of_pages" = 1; resource = "/products/d46e49d5b7a0f85f5b7e4eaaeded480e"; title = "logitech k120 usb keyboard 920002478"; upcs = ( ); }, { asins = ( ); "best_page" = { currency = usd; deeplink = "http://www.electronicexpress.com/catalog/18226/logitech"; description = "<null>"; "image_url" = "http://shopping.getinvisiblehand.com/images/no_image_available.png"; "in_stock" = 1; "live_price_url" = "http://api.invisiblehand.co.uk/v1/pages/live_price?url=http%3a%2f%2fwww.electronicexpress.com%2fcatalog%2f18226%2flogitech"; "original_url" = "http://www.electronicexpress.com/catalog/18226/logitech"; pnp = 0; cost = "<null>"; "price_confidence" = low; part = us; "retailer_name" = "electronicexpress.com"; title = "logitech z506 5.1 speakers 980000430"; }; brands = ( logitech ); categories = ( ); eans = ( ); id = 7f1b492e40e2a8956475f24f74c0e152; "image_url" = "http://shopping.getinvisiblehand.com/images/no_image_available.png"; isbns = ( ); models = ( ); mpns = ( ); "number_of_pages" = 1; resource = "/products/7f1b492e40e2a8956475f24f74c0e152"; title = "logitech z506 5.1 speakers 980000430"; upcs = ( ); }, { asins = ( ); "best_page" = { currency = usd; deeplink = "http://www.electronicexpress.com/catalog/23904/logitech"; description = "<null>"; "image_url" = "http://shopping.getinvisiblehand.com/images/no_image_available.png"; "in_stock" = 1; "live_price_url" = "http://api.invisiblehand.co.uk/v1/pages/live_price?url=http%3a%2f%2fwww.electronicexpress.com%2fcatalog%2f23904%2flogitech"; "original_url" = "http://www.electronicexpress.com/catalog/23904/logitech"; pnp = 0; cost = "<null>"; "price_confidence" = low; part = us; "retailer_name" = "electronicexpress.com"; title = "logitech m235 wireless mouse lite silver 910002332"; }; brands = ( logitech ); categories = ( ); eans = ( ); id = 58fc508d545168dccf81f93bb6070ac3; "image_url" = "http://shopping.getinvisiblehand.com/images/no_image_available.png"; isbns = ( ); models = ( ); mpns = ( ); "number_of_pages" = 1; resource = "/products/58fc508d545168dccf81f93bb6070ac3"; title = "logitech m235 wireless mouse lite silver 910002332"; upcs = ( ); }, { asins = ( ); "best_page" = { currency = usd; deeplink = "http://www.electronicexpress.com/catalog/23916/logitech"; description = "<null>"; "image_url" = "http://shopping.getinvisiblehand.com/images/no_image_available.png"; "in_stock" = 1; "live_price_url" = "http://api.invisiblehand.co.uk/v1/pages/live_price?url=http%3a%2f%2fwww.electronicexpress.com%2fcatalog%2f23916%2flogitech"; "original_url" = "http://www.electronicexpress.com/catalog/23916/logitech"; pnp = 0; cost = "<null>"; "price_confidence" = low; part = us; "retailer_name" = "electronicexpress.com"; title = "logitech wireless combo mk520 keyboard , laser mouse 920002553"; }; brands = ( logitech ); categories = ( ); eans = ( ); id = ae530f45af7ac34207bd9a44406afa98; "image_url" = "http://shopping.getinvisiblehand.com/images/no_image_available.png"; isbns = ( ); models = ( ); mpns = ( ); "number_of_pages" = 1; resource = "/products/ae530f45af7ac34207bd9a44406afa98"; title = "logitech wireless combo mk520 keyboard , laser mouse 920002553"; upcs = ( ); }, { asins = ( ); "best_page" = { currency = usd; deeplink = "http://www.electronicexpress.com/catalog/16215/logitech"; description = "<null>"; "image_url" = "http://shopping.getinvisiblehand.com/images/no_image_available.png"; "in_stock" = 1; "live_price_url" = "http://api.invisiblehand.co.uk/v1/pages/live_price?url=http%3a%2f%2fwww.electronicexpress.com%2fcatalog%2f16215%2flogitech"; "original_url" = "http://www.electronicexpress.com/catalog/16215/logitech"; pnp = 0; cost = "<null>"; "price_confidence" = low; part = us; "retailer_name" = "electronicexpress.com"; title = "logitech ls21 2.1 stereo speaker scheme 980000058"; }; brands = ( logitech ); categories = ( ); eans = ( ); id = ad59cd583a1b88c782f8af77e6d71494; "image_url" = "http://shopping.getinvisiblehand.com/images/no_image_available.png"; isbns = ( ); models = ( ); mpns = ( ); "number_of_pages" = 1; resource = "/products/ad59cd583a1b88c782f8af77e6d71494"; title = "logitech ls21 2.1 stereo speaker scheme 980000058"; upcs = ( ); }, { asins = ( ); "best_page" = { currency = usd; deeplink = "http://www.electronicexpress.com/catalog/16216/logitech"; description = "<null>"; "image_url" = "http://shopping.getinvisiblehand.com/images/no_image_available.png"; "in_stock" = 1; "live_price_url" = "http://api.invisiblehand.co.uk/v1/pages/live_price?url=http%3a%2f%2fwww.electronicexpress.com%2fcatalog%2f16216%2flogitech"; "original_url" = "http://www.electronicexpress.com/catalog/16216/logitech"; pnp = 0; cost = "<null>"; "price_confidence" = low; part = us; "retailer_name" = "electronicexpress.com"; title = "logitech compact 25watt 2.1 speaker scheme 980000382"; }; brands = ( logitech ); categories = ( ); eans = ( ); id = 54c5479754c659a2fac08018a4bce795; "image_url" = "http://shopping.getinvisiblehand.com/images/no_image_available.png"; isbns = ( ); models = ( ); mpns = ( ); "number_of_pages" = 1; resource = "/products/54c5479754c659a2fac08018a4bce795"; title = "logitech compact 25watt 2.1 speaker scheme 980000382"; upcs = ( ); }, { asins = ( ); "best_page" = { currency = usd; deeplink = "http://www.electronicexpress.com/catalog/22841/logitech"; description = "<null>"; "image_url" = "http://shopping.getinvisiblehand.com/images/no_image_available.png"; "in_stock" = 1; "live_price_url" = "http://api.invisiblehand.co.uk/v1/pages/live_price?url=http%3a%2f%2fwww.electronicexpress.com%2fcatalog%2f22841%2flogitech"; "original_url" = "http://www.electronicexpress.com/catalog/22841/logitech"; pnp = 0; cost = "<null>"; "price_confidence" = low; part = us; "retailer_name" = "electronicexpress.com"; title = "logitech z130 compact laptop speakers 980000417"; }; brands = ( logitech ); categories = ( ); eans = ( ); id = 7218f2482c0b4f40cf89d57feabb8c58; "image_url" = "http://shopping.getinvisiblehand.com/images/no_image_available.png"; isbns = ( ); models = ( ); mpns = ( ); "number_of_pages" = 1; resource = "/products/7218f2482c0b4f40cf89d57feabb8c58"; title = "logitech z130 compact laptop speakers 980000417"; upcs = ( ); }, { asins = ( ); "best_page" = { currency = usd; deeplink = "http://www.newegg.com/product/product.aspx?item=n82e16826104828"; description = "<null>"; "image_url" = "http://shopping.getinvisiblehand.com/images/no_image_available.png"; "in_stock" = 1; "live_price_url" = "http://api.invisiblehand.co.uk/v1/pages/live_price?url=http%3a%2f%2fwww.newegg.com%2fproduct%2fproduct.aspx%3fitem%3dn82e16826104828"; "original_url" = "http://www.newegg.com/product/product.aspx?item=n82e16826104828"; pnp = 0; cost = "<null>"; "price_confidence" = low; part = us; "retailer_name" = "newegg.com"; title = "logitech corded mouse m318e"; }; brands = ( logitech ); categories = ( ); eans = ( ); id = b5ccd2875b684f2209b2972ad85ab529; "image_url" = "http://shopping.getinvisiblehand.com/images/no_image_available.png"; isbns = ( ); models = ( ); mpns = ( ); "number_of_pages" = 1; resource = "/products/b5ccd2875b684f2209b2972ad85ab529"; title = "logitech corded mouse m318e"; upcs = ( ); }, { asins = ( ); brands = ( ); categories = ( ); eans = ( ); id = 65e25398341ecdca6c54787cf1f3e5d6; isbns = ( ); models = ( ); mpns = ( ); "number_of_pages" = 0; resource = "/products/65e25398341ecdca6c54787cf1f3e5d6"; title = "<null>"; upcs = ( ); } );
}
it looks info source isn't think is. root object appears dictionary, containing results array 1 of keys. seek instead.
nsdictionary *datadictionary = [nsjsonserialization jsonobjectwithdata:data options:kniloptions error:nil]; nsarray *itemcallarray = [nsarray arraywitharray:datadictionary[@"results"]];
ios objective-c xcode web-services
No comments:
Post a Comment