Получение доступа к выведенному NSInteger в остальной части моего кода - PullRequest
2 голосов
/ 25 января 2012

Я пытаюсь сделать что-то, что, на мой взгляд, было бы относительно просто и получить текущий день недели, а затем сделать некоторые проверки по отношению к тому дню, когда нажимаются кнопки. чтобы получить день недели, я использовал следующий код в своем методе viewDidLoad:

NSDate *today = [NSDate date];
NSCalendar *gregorian = [[NSCalendar alloc]
                         initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *weekdayComponents =
[gregorian components:(NSDayCalendarUnit | NSWeekdayCalendarUnit) fromDate:today];
NSInteger day = [weekdayComponents day];
NSInteger weekday = [weekdayComponents weekday];

Код возвращает мне два NSInteger, которые являются текущим днем ​​недели и текущим днем ​​месяца, что я и хотел. Теперь я хочу иметь ряд кнопок, которые при нажатии отображают определенную веб-страницу в UIWebView в зависимости от дня недели.

Я надеялся сделать простое:

-(IBAction) btnClicked 
{
    if (weekday == 1)
    {
       //DO SOMETHING HERE
    {
}

Но я не могу получить доступ к NSInteger «дня недели», который был создан в методе viewDidLoad. Я уверен, что мне не хватает чего-то очень простого. Любой совет?

1 Ответ

4 голосов
/ 25 января 2012

Проблема в том, что день недели выходит за рамки, когда вы пытаетесь использовать его в методе btnClicked. Попробуйте создать для него свойство в разделе интерфейса следующим образом:

@property (nonatomic, retain) NSInteger weekday;

Тогда @synthesize в реализации

Или просто добавьте его в качестве переменной экземпляра:

@interface class : NSObject {
    NSInteger weekday;
}
@end
...