Я создал класс, который содержит 4 переменные и 4 строки, которые представляют собой те же 4 переменные, но в виде строк,
в файле h, который я объявил:
@property (assign) float num1;
@property (assign) float num2;
@property (assign) float num3;
@property (assign) long num4;
@property (nonatomic, assign) NSString *num1String;
@property (nonatomic, assign) NSString *num2String;
@property (nonatomic, assign) NSString *num3String;
@property (nonatomic, assign) NSString *num4String;
в методе initЯ передал словарь, который использовал для создания переменных, например:
num1 = [[dict objectForKey:@"num1"] floatValue];
num2 = [[dict objectForKey:@"num2"] floatValue];
num3 = [[dict objectForKey:@"num3"] floatValue];
num4 = [[dict objectForKey:@"num4"] longValue];
num1String = [NSString stringWithFormat: @"%.2f", num1];
num2String = [NSString stringWithFormat: @"%.2f", num2];
num3String = [NSString stringWithFormat: @"%.2f", num3];
num4String = [NSString stringWithFormat:@"%ld",num4];
, он становится подключенным, когда я ставлю точку останова после этой строки и проверяю типы строк, а первые 3 - NSString, а num4String -NSMutableString!
моя проблема на самом деле, когда я пытаюсь передать эту строку в другую переменную
NSString *copyOfNum4String = model.num4String;
и вместо строки я получаю
Printing description of copyOfNum4String:
(NSString *) copyOfNum4String = 0x0000600001cb0740
, котораяпроисходит сбой приложения, потому что следующее, что я пытаюсь сделать, это получить последние 4 символа.
Может кто-нибудь объяснить, что происходит, и как это решить?(он должен быть длинным, потому что число равно 13 символам)
РЕДАКТИРОВАТЬ: это печатный текст значения:
[0] (null) @"num1" : (long)2018420678770
key NSTaggedPointerString * @"num1" 0xb79527f3826c0fa9
value __NSCFNumber * (long)2018420678770 0xa1c30c3a46fcec1d