как добавить строку в глобальную переменную строки в цель c - PullRequest
0 голосов
/ 01 мая 2018

Я создал глобальную строку в классе делегата приложения и добавляю строки в эту строку в нескольких классах при перемещении элемента управления приложения, но получаю только последнюю добавленную строку.

@property (nonatomic , strong) NSString *strConacatResponse;

в appdelegate.m

self.strConacatResponse = [self.strConacatResponse stringByAppendingString:[NSString stringWithFormat:@"Name : %@ ",name]];

потом в других классах

NSString *strDates = [NSString stringWithFormat:@"\n Common utilities not expire *** EndDate: %@ *** StartDate: %@ ",paramEndDate,paramStartDate];


    [AppDelegate sharedAppDelegate].strConacatResponse =  [[AppDelegate sharedAppDelegate].strConacatResponse stringByAppendingString:strDates];

в моем 3-м классе

 NSString *strTemp = @" \n Database getSuscriptionStatus error in api calling of apple   ";
    [AppDelegate sharedAppDelegate].strConacatResponse = [[AppDelegate sharedAppDelegate].strConacatResponse stringByAppendingString:strTemp];

но получает только последнюю строку

Ответы [ 4 ]

0 голосов
/ 03 мая 2018

Объявите переменную свойства как NSMutableString

@property (nonatomic , strong) NSMutableString *strConacatResponse;

в appdelegate.m

self.strConacatResponse=[[NSMutableString alloc]init];
self.strConacatResponse = [NSString stringWithFormat:@"Name : %@ ",name];

затем во второй класс

NSString *strDates = [NSString stringWithFormat:@"\n Common utilities not expire *** EndDate: %@ *** StartDate: %@ ",paramEndDate,paramStartDate];

 [AppDelegate sharedAppDelegate].strConacatResponse = [NSString stringWithFormat:@"%@ %@ ",[AppDelegate sharedAppDelegate].strConacatResponse,strDates ];

в третьем классе

NSString *strTemp = @" \n Database getSuscriptionStatus error in api calling of apple   ";


[AppDelegate sharedAppDelegate].strConacatResponse = [NSString stringWithFormat:@"%@ %@ ",[AppDelegate sharedAppDelegate].strConacatResponse,strTemp];
0 голосов
/ 01 мая 2018

Ваша строка должна быть изменяемой, чтобы иметь возможность добавлять новые строки:

@property (nonatomic , strong) NSMutableString *strConacatResponse;

Затем (например) в AppDelegate:

strConacatResponse = [NSMutableString new];

И теперь вы можете добавить к нему больше строк.

0 голосов
/ 02 мая 2018

Просто хочу указать существующие API журналирования, потому что кажется, что вы пытаетесь добиться какого-то рода журналирования: os_log , NSLog, CocoaLumberjack . Это проверенные в бою API, поэтому, в зависимости от ваших потребностей, лучше не изобретать велосипед.

0 голосов
/ 01 мая 2018

Вам нужно инициализировать self.strConacatResponse Сначала в appDelegate и использовать NSMutableString при объявлении переменной.

Первым шагом будет (В appDelegate): -

self.strConacatResponse=[NSString stringWithFormat:@"Name : %@ ",name];

Затем добавьте строки как обычно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...