2015-11-17 3 views
0

У меня есть два метода в моем .m файле. И я хочу получить доступ разными значениями, но в моей переменной Facebook значение nil, но если я использую только одну строку и удаляю вторую строку объект для ключа, тогда он отлично работает для одного метода. Как я могу это сделать, которые работают для моих обоих методоввызов другого метода с той же строкой в ​​другом значении

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
[[NSUserDefaults standardUserDefaults] synchronize]; 
user=[defaults objectForKey:@"userid"]; 
facebook=[defaults objectForKey:@"FACEBOOKprofile"]; 
facebook =[defaults objectForKey:@"VLCC"]; 

if ([facebook isEqualToString:@"VLCCFACEBOOK"]) 
{ 
    [self FacebookRecord]; 
} 
else if([facebook isEqualToString:@"VLCC"]) 
{ 
    [self VlccRecord]; 
} 
+0

вы хотите Acces эти два метода то же время или на основе какого-либо одного условия .... –

ответ

1

предположить, что

Выбор-1

// for accessing the both condition in same time 

Первоначально хранить UserDefault value based на вашем методе.

, если есть доступ с facebook, в то время хранить строку как

[[NSUserDefaults standardUserDefaults] setObject:"VLCCFACEBOOK" forKey:@"FACEBOOKprofile"]; 
[[NSUserDefaults standardUserDefaults] synchronize]; 

, если есть доступ с VLCC, в то время хранить строку как

[[NSUserDefaults standardUserDefaults] setObject:"VLCC" forKey:@"VLCCprofile"]; 
[[NSUserDefaults standardUserDefaults] synchronize]; 

и получить оба и проверьте, что

if ([[[NSUserDefaults standardUserDefaults] 
objectForKey:@"FACEBOOKprofile"]isEqualToString:@"VLCCFACEBOOK"]) 
{ 
[self FacebookRecord]; 
} 
if([[[NSUserDefaults standardUserDefaults] 
objectForKey:@"VLCCprofile"] isEqualToString:@"VLCC"]) 
{ 
[self VlccRecord]; 
} 

Choice-2

// for accessing single condition on single time 

, если есть доступ с facebook, в то время хранить строку как

[[NSUserDefaults standardUserDefaults] setObject:"VLCCFACEBOOK" forKey:@"FACEBOOKprofile"]; 
[[NSUserDefaults standardUserDefaults] synchronize]; 

если вы доступ с VLCC, в то время хранить строку как

[[NSUserDefaults standardUserDefaults] setObject:"VLCC" forKey:@"FACEBOOKprofile"]; 
[[NSUserDefaults standardUserDefaults] synchronize]; 

и восстановить их и проверить как

if ([[[NSUserDefaults standardUserDefaults] 
objectForKey:@"FACEBOOKprofile"]isEqualToString:@"VLCCFACEBOOK"]) 
{ 
[self FacebookRecord]; 
} 
else if([[[NSUserDefaults standardUserDefaults] 
objectForKey:@"FACEBOOKprofile"] isEqualToString:@"VLCC"]) 
{ 
[self VlccRecord]; 
} 
+0

Спасибо @Anbu sir..Your предложение всегда поможет me..Thanks много .... Я выбираю выбор 2 –

0

В вашем коде метод [self VlccRecord] всегда будет вызываться, потому что вы переписываете переменную facebook.

facebook=[defaults objectForKey:@"FACEBOOKprofile"]; 
facebook =[defaults objectForKey:@"VLCC"]; 

Если вы хотите добавить две строки: Затем используйте метод stringbyAppendingString.

0
int a = 10; 
a = 20; 
print >> a; //20 

int a = 10; 
print1 >> a; //10 
a = 20; 
print2 >> a; //20 

Здесь
а = facebook;
print1 = [self FacebookRecord];
печать2 = [self VlccRecord];

Я считаю, что вы поймете.

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