как да извлека стойност Nsstring от Nsobject?

имам малки съмнения в извличането на стойност от класа Nsobject. Първо обработвам условието за проверка на влизане, когато натисна бутона за влизане, получавам отговор от уеб услугата в Nslog, в който трябва да уловя низ, наречен LoginStatus, независимо дали е успешен или неуспешен. Създадох Клас NSObject и той съдържа един низ, моето име на клас NSObject стойност_за отговор

@property (nonatomic, retain)NSString *Loginstatus;

сега в клас на уеб услуги:

response.Loginstatus =[[[json valueForKey:@"login_response"]valueForKey:@"status"]objectAtIndex:0];

NsLog (@"%@",response.Loginstatus);

моите заявени стойности на низ се съхраняват в отговор. Низът на състоянието на входа успешно.

Но действителният ми проблем е посочването в моя Login ViewController

задавам условие за проверка на състоянието на влизане, ако успешно влизане означава, че трябва да покажа предупредително съобщение или за успех r за неуспех

response_value *response = [[response_value alloc]init];
if ([response.response.Loginstatus isEqualToString:@"Login Successfull"]) {
        UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Success" message:response.loginStatusString delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
        [alert show];
    }

но това условие никога не се извиква и аз също проверих дали низът NSObject съдържа някакви стойности, но стойностите са нулеви в Nslog

може ли някой да реши проблема ми


person Anand -    schedule 23.02.2015    source източник
comment
response_value *response = [[response_value alloc]init]; Изглежда, че е напълно нов обект, а не този, който сте получили от вашата уеб услуга.   -  person Larme    schedule 23.02.2015
comment
Направих същите стъпки, за да съхраня стойността и в клас на уеб услуга, стойността се съхранява в клас на уеб услуга, но когато използвам повторно низа към моя Viewcontroller, той връща NUll   -  person Anand -    schedule 23.02.2015
comment
Вашият проблем е за ООП. Извършването на alloc/init трябва да създаде изцяло нов обект. Да кажем, че alloc/init е същото като щракване върху бутона за печат на празна страница. Ако натиснете печат, ще се покаже цяла празна страница. Пишете с молив върху него (т.е. задавате стойност на loginstatus). При повторно натискане върху печат ще се покаже нова цяла празна страница. Но няма предишния чертеж, това е нова страница.   -  person Larme    schedule 23.02.2015


Отговори (1)


Това, което искате да направите, е

response_value *response = [[response_value alloc] init];
response.Loginstatus =[[[json valueForKey:@"login_response"]valueForKey:@"status"]objectAtIndex:0];

След това предайте обекта response на вашия myLoginViewController и го използвайте отново, вместо да декларирате изцяло нов обект за response_value вътре в myLoginViewController.

person Shamsudheen TK    schedule 23.02.2015
comment
можете ли да актуализирате точния код как предавате отговора на моя контролер за изглед? - person Anand -; 23.02.2015
comment
c вместо да премина към моя контролер за изглед, трябва да запазя стойността на отговора в клас NSObject, така че да мога да извличам, когато пожелая - person Anand -; 23.02.2015
comment
Вече опитах вашия метод @Ramshad, но все още Liam получава само нулева стойност - person Anand -; 24.02.2015