2016-11-02 2 views
2

на самом деле я использовал этот код для преобразования NstaggedpointerString в строкуПреобразование NstaggedpointerString в целое

NSString *index = [responseSelectedAvailibility[i] valueForKey:@"day"]; 

     NSLog(@"String %@",index); 

     int indexDayValue = (int)index; 
     NSLog(@" index %d",indexDayValue); 

     indexDayValue = indexDayValue-1; 

    NSLog(@" index after decrementing %d",indexDayValue); 

я получить выход строки, как это

String 

    (
     1 
    ) 

теперь, как я получаю эту 1.

+0

Проблема не преобразовывая эту строку в междунар, проблема заключается в том, что вы не включили необходимые предупреждения в компиляторе, так что он позволяет вам уйти с этой ерундой. – gnasher729

+2

Основная проблема, очевидно, в значении-для-ключа-ловушки. – vadian

ответ

1

Заменить это:

int indexDayValue = (int)index; 

с этим:

int indexDayValue = [index intValue]; 

Edit:

[__NSArrayI intValue] непризнанным селектор послал к экземпляру 0x7f940053f7e0

Это потому, что index фактически является массивом, а не строка , Выполните следующие действия:

NSDictionary *dict = responseSelectedAvailibility[i]; 
NSArray *dayArray = dict[@"day"]; 
NSString *dayIndexString = [dayArray firstObject]; 
int dayIndex = [dayIndexString intValue]; 
+0

P.S. И не вызывайте строку 'index', это запутывает. По крайней мере, это должен быть 'indexString' – alexburtnik

+0

[__NSArrayI intValue] нераспознанный селектор, отправленный экземпляру 0x7f940053f7e0. получение этой ошибки –

+0

@MadBurea Проверьте обновление. – alexburtnik

Смежные вопросы