NSString внеочередной вопрос - PullRequest
1 голос
/ 26 января 2012

Мой код:

- (void)viewDidLoad {
    [super viewDidLoad];
    self.appDelegate=[[UIApplication sharedApplication]delegate];
    self.dateString=[NSString stringWithFormat:@"%@",appDelegate.tappedDate];
    dateLabel.text=dateString;
}

-(IBAction)checkForData:(id)sender{
    NSString *bday=@"2012-01-26";
    if(bday==dateString)
    {
        UIAlertView *bdayView=[[UIAlertView alloc]initWithTitle:@"Birthday!!!" message:@"Its ur Best Friend's Bday" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
        [bdayView show];
        [bdayView release];
    }
    else{
        UIAlertView *bdayView=[[UIAlertView alloc]initWithTitle:@"No Data" message:@"No Data available for this date" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
        [bdayView show];
        [bdayView release];
    }
}

String dateString выходит из области видимости в условии if, но отображает данные на метке.

1 Ответ

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

Прежде всего, bday никогда не будет равен dateString, так как == сравнивает адреса обоих объектов. Если вы хотите сравнить фактические строки, вам нужно сделать if ([bday isEqualToString:dateString]) {...}

Относительно сообщения вне области видимости: как выглядит свойство для dateString? Вы должны предоставить более подробную информацию. Обычно это должно выглядеть как @property (nonatomic, copy) NSString *dateString

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...