Я работаю с этим методом
-(void)fetchDataFromTLE:(const char *)line1 AndLine2:(const char *)line2{
, пишу это, код работает
char *line1= "blablabla";
char *lin2= "blebleble";
[self fetchDataFromTLE:line1 AndLine2:line2];
, он работает.
Но мне нужно взять line1 и line2 из NSUserDefaults, сохраненные как NSString.
Итак:
NSString *line1 = [[NSUserDefaults standardUserDefaults] objectforkey:@"line1"];
NSString *line2 = [[NSUserDefaults standardUserDefaults] objectforkey:@"line2"];
и, конечно, если я попытаюсь вызвать мойметод
[self fetchDataFromTLE:line1 AndLine2:line2];
не работает
passing argument 1 of 'fetchDataFromTLE:AndLine2:' from incompatible pointer type
passing argument 2 of 'fetchDataFromTLE:AndLine2:' from incompatible pointer type
и это нормально.Так что я думал бросить мою NSString * в char *, но я нашел только один способ привести NSString * в const char *.
const char *AAA1 = [line1 UTF8String];
приведение правильное, но если вызов мойМетод, у меня есть эта ошибка
warning: passing argument 1 of 'fetchDataFromTLE:AndLine2:' discards qualifiers from pointer target type
Так что я подумал, бросить che const char * в char * ... и единственный известный мне способ - использовать strcpy.
так:
#include <stdio.h>
#include <string.h>
...
char *a;
strcpy(a, AAA1);
не работает, потому что приложение вылетает!
Что я могу сделать?
Спасибо!