#ios #objective-c #ios7 #nsstring #nsurlrequest
#iOS #objective-c #ios7 #nsstring #nsurlrequest
Вопрос:
Я получил значение от другого ViewController. Я могу распечатать это в журнале, но здесь проблема в том, что я получаю значение в этом формате
(
201 )
Я получаю это значение из данных JSON. Я не могу получить значение в UITextField. В то же время он не работает с urlstring, т.е. Я упомянул запрошенную строку в приведенном ниже коде.
NSString *requestString =[NSString stringWithFormat:@"UserId=%@amp;CategoryId=%@amp;Continent=%@amp;Country=%@amp;City=%@amp;Gender=%@amp;ImageName=%@amp;AgeRange=%@",PassedUserId,CategoryId,continentTextfield.text,countrytextfield.text,citytextfield.text,gender,imagename,ageTextfield.text];
NSString *url=[NSString stringWithFormat:@"http://192.168.2.4:98/UserImage.svc/InsertFacialImage?%@",requestString];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init] ;
[request setURL:[NSURL URLWithString:url]];
[request setHTTPMethod:@"POST"];
// Create 'POST' MutableRequest with Data and Other Image Attachment.
NSString *boundary = @"---------------------------14737809831466499882746641449";
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary];
[request setValue:contentType forHTTPHeaderField:@"Content-Type"];
NSData *data = UIImageJPEGRepresentation(chosenImage, 0.2f);
[request addValue:@"image/JPEG" forHTTPHeaderField:@"Content-Type"];
NSMutableData *body = [NSMutableData data];
[body appendData:[NSData dataWithData:data]];
[request setHTTPBody:body];
NSData *returnData;
NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
NSLog(@"Ret: %@",returnString);
мне нужно запустить NSURLRequest вместе с этой строкой.
Ответ №1:
Если ваш журнал является результатом NSLog, кажется, что ваш номер инкапсулирован в массив. Попробуйте привести переменную, которую вы регистрируете, как NSArray, извлеките первый объект и приведите его как целое число.
Ответ №2:
Поскольку вы получаете значение в формате массива из данных JSON. Вам нужно получить их в NSArray и получить значение, извлекая первый объект массива, как показано ниже. код. Поскольку я не знаю, как вы получаете это значение. Из dict или другого источника..
NSArray *tempArray=[[NSArray alloc]initWithObjects:@"201", nil]; //Replace this the code you are getting that value(or)
NSArray *tempArray=[dict objectForKey:@"Value"];//If you getting from dict
NSLog(@"@@@@@@@@@Value from Array is:%@",[tempArray objectAtIndex:0]);
NSString *userIdString=[tempArray objectAtIndex:0];//If you want value in string format
int userId=[userIdString intValue];// If you want in Integer format
Надеюсь, это вам поможет..
Ответ №3:
вы получаете неправильный формат данных JSON. Данные JSON u извлекаются, в том числе с помощью () . проверьте JSON в http://jsonviewer.stack.hu /. внесите изменения в соединение, завершившее загрузку
NSError *err;
NSString *JSON = [[NSString alloc] initWithData:self.receivedData encoding:NSUTF8StringEncoding];
NSLog(@"jsonImage:%@" , JSON);
jsonDi = [NSJSONSerialization JSONObjectWithData:receivedData options: NSJSONReadingMutableContainers error: amp;err];
compareId = [jsonDi valueForKey:@"ImageId"];