objective c - Compare API value to a local stored value at each request to API -
ok, total brain freeze. have response ci jenkins api. result contains successful build number project @ jenkins increments each time successful build on jenkins platform runs.
now want app check request if there new successful build, , if there want inform user it. how can store current build number in app , compare each time make request check jenkins build number compare if local stored build number less build number on jenkins
[manager get:@"http://jenkins.myproject/lastsuccessfulbuild/api/json" parameters:nil success:^(afhttprequestoperation *operation, id responseobject) { nsdictionary *responsedict = responseobject; nsinteger repsonsbuildnumber = [responsedict[@"number"] integervalue]; if ([responsedict[@"result"] integervalue] == buildstatesuccess && repsonsbuildnumber > self.currentbuildnumber ) { nslog(@"there new succesful build @ jenkins"); } else { nslog(@"there currentbuildnumber same repsonsbuildnumber"); } } failure:^(afhttprequestoperation *operation, nserror *error) { nslog(@"error: %@", error); }]; so how can store currentbuildnumber compare repsonsbuildnumber whit each request?
nsuserdefaults perfect this. use -(nsinteger)integerforkey: current build number stored:
nsinteger currentbuildnumber = [[nsuserdefaults standarduserdefaults] integerforkey:@"currentbuildnumber"]]; nsinteger repsonsbuildnumber = [responsedict[@"number"] integervalue]; if (currentbuildnumber < repsonsbuildnumber) { // there new build } then set it, use
[[nsuserdefaults standarduserdefaults] setinteger:repsonsbuildnumber forkey:@"currentbuildnumber"]];
Comments
Post a Comment