2017-11-06 1 views
-1

는 재 장전 방법 정수 변수를 선언하고 초기화하는 방법과 정수 변수의 증분 값을 매번 호출 할 때마다 어떻게 선언할까요?

// sampleViewcontroller.m 

     - (void)viewDidLoad { 

     [self method1]; 
     } 

     -(void) method1 
     { 

     // Here I am calling one API 

     [self reload]; 

     } 

     -(void)reload 
     { 

     // Here I want to use that page value, whenever this method is called, that value should be incremented by one. 
     // and that page value I am passing as a parameter to another method, see below 

     MyWebservices *webservices=[MyWebservices sharedInstance]; 

       [webservices getNextPageURL:_nextPageUrl pageValue:page callbackHandler:^(NSError *error,id json,NSString* msg) { 

      // some code 

      } 

     } 

내가 사용을 원하는, 내가 페이지과 처음에라는 정수 변수는 그 값이 1

이 sampleViewcontroller.m 파일의 샘플 코드를 참조 할 것이다하고자 고려하는 것이 장전 방법 CA 인 경우 페이지의 값과, 파라미터로서 이하있어서

[webservices getNextPageURL:_nextPageUrl pageValue:page callbackHandler:^(NSError *error,id json,NSString* msg) 

매번라고 Webservices.m 파일에 기록하는 방법 정의를 전달할 lled. 여기서 나는 그 페이지 값을 매번 가져오고, 증가 할 때 그 페이지를 다음 api 호출에 사용하려고합니다.

// Webservices.m file 

     -(void)getNextPageURL:(NSString*)url pageValue:(NSInteger)page callbackHandler:(callbackHandler)block{ 
      _userDefaults=[NSUserDefaults standardUserDefaults]; 

      // I want to print this page value (which is incrementing every time) 
      NSLog(@"Page value is : %@",page); // incremented value 
      NSString *urll=[NSString stringWithFormat:@"%@&api_key=%@&ip=%@&token=%@&page=%@",url,API_KEY,IP,[_userDefaults objectForKey:@"token"],page]; 

      [self httpResponseGET:urll parameter:@"" callbackHandler:^(NSError *error,id json,NSString* msg) { 
       dispatch_async(dispatch_get_main_queue(), ^{ 
        block(error,json,msg); 
       }); 

      }]; 

     } 

그래서이 방법은 아래에 다시로드 방식에서 페이지 값을 전달하려면, 그래서 각 시간에 값을 증가 소요됩니다.

-(void)getNextPageURL:(NSString*)url pageValue:(NSInteger)page callbackHandler:(callbackHandler)block 

답변

0

쓰기 : 지금

@property (nonatomic) NSInteger page; 

하는 .m 파일은

- (void)viewDidLoad { 

self.page = 1; // as you initially want page value to be 1. 
[self method1]; 
} 

-(void) method1 
{ 

// Here I am calling one API 
self.page = page + 1; // as you want to increment the value of page when before function is called 
[self reload]; 
} 

-(void)reload 
    { 

    // Here I want to use that page value, whenever this method is called, that value should be incremented by one. 
    // and that page value I am passing as a parameter to another method, see below 

    MyWebservices *webservices=[MyWebservices sharedInstance]; 

      [webservices getNextPageURL:_nextPageUrl pageValue:self.page callbackHandler:^(NSError *error,id json,NSString* msg) { 

     // some code 

     } 

    } 
+0

그것은 나를 위해 작동 ..! @ kadian 감사합니다. –

+0

사실, 위의 메소드가 매번 호출되기 전에 페이지 값을 증가시키고 싶기 때문에 사실입니다. [webservices getNextPageURL : _nextPageUrl pageValue : self.page callbackHandler :^(NSError * error, id json, NSString * msg) –

0

예 : 당신의 .H 파일에 다음과

@interface SampleViewcontroller() 

@property (nonatomic) NSInteger page; 

@end 

@implementation 

- (void)viewDidLoad { 
    self.page = 0; 
    [self method1]; 
} 

-(void) method1 
{ 

    // Here I am calling one API 

    [self reload]; 

} 

-(void)reload 
{ 

    // Here I want to use that page value, whenever this method is called, that value should be incremented by one. 
    // and that page value I am passing as a parameter to another method, see below 

    MyWebservices *webservices=[MyWebservices sharedInstance];  
    [webservices getNextPageURL:_nextPageUrl pageValue:self.page callbackHandler:^(NSError *error,id json,NSString* msg) { 

     // some code 
     if (!error) { 
      //If success 
      self.page++; 
     } 
    } 

}   
@end 
0
You don't need to add a property, just add a private variable using anyone from the following ways: 

    1. In .h file: 

    @interface ViewController : UIViewController { 

     NSInteger page; 
    } 

    OR 
    2. In .m file: 


    @interface ViewController() 
    @end 

    @implementation ViewController 

    NSInteger page; 

    // Now use the page variable in .m file: 

    - (void)viewDidLoad { 

     [self method1]; 
     } 

     -(void) method1 
     { 

     // Here I am calling one API 

     [self reload]; 

     } 

     -(void)reload 
     { 

     // Here I want to use that page value, whenever this method is called, that value should be incremented by one. 
     // and that page value I am passing as a parameter to another method, see below 

     MyWebservices *webservices=[MyWebservices sharedInstance]; 

       [webservices getNextPageURL:_nextPageUrl pageValue:page callbackHandler:^(NSError *error,id json,NSString* msg) { 

      // some code 

      page ++; 

      } 

     } 
관련 문제