2015-11-07 2 views
2

У меня есть следующий кодUIAlertController Swift

let alertController = UIAlertController(title: "error_title".localized, message: "error".localized, preferredStyle: .ActionSheet) 

    let retryAction = UIAlertAction(
     title: "retry".localized, 
     style: .Default, 
     handler: { 
      (action:UIAlertAction!) in 
      self.fetch() 
     } 
    ) 
    alertController.addAction(retryAction) 

    let cancelAction = UIAlertAction(
     title: "cancel".localized, 
     style: .Default, 
     handler: { 
      (action:UIAlertAction!) in 
      self.navigationController!.popViewControllerAnimated(true) 
     } 
    ) 
    alertController.addAction(cancelAction) 

    self.presentViewController(alertController, animated: true, completion: nil) 

диалоговое окно отображается нормально, но когда я нажимаю кнопку, он не вызывает функцию обработчика. Есть идеи?

+0

Вы говорите об щелчке на кнопке 'retry'? –

+0

обе кнопки не работают – Yamila

+0

Вы пытались добавить точки останова или вести журнал, чтобы узнать, по крайней мере, туда? Может показаться глупым, но это будет первый хороший шаг. –

ответ

0

Вы можете попробовать этот код.

let alertController = UIAlertController(title: "AlertCotrol", message: "A standard alert.", preferredStyle: .Alert) 

let cancelAction = UIAlertAction(title: "Cancel", style: .Cancel) { (action) in 
// ... Do something 
} 
alertController.addAction(cancelAction) 

let OKAction = UIAlertAction(title: "OK", style: .Default) { (action) in 
// ... Do something 
} 
alertController.addAction(OKAction) 

self.presentViewController(alertController, animated: true) { 
// ... Do something 
} 
0

Для интернационализации, где у вас есть:

title: "retry".localized, 

Попробуйте изменить его на что-то вроде:

title: (NSLocalizedString("retry" , comment: "Retry something.") as String), 

Вы можете сделать то же самое для всех остальных строк, которые вы хотите интернационализировать , в коде, который вы представили, это строки, которые вы ставите «.localized» спереди.

Конечно, вы должны иметь в своем комплекте Localizable.strings файл, уже настроенный на нужные вам языки. Если вам нужно больше об этом на How to localize my app with Xcode 4?

Удачи.