这是我第一次使用容器视图。
在我的应用程序的LoginViewController中,我使用的是一个容器视图,它嵌入了一个带有两个静态单元格的UITableViewController,其中包含用于电子邮件和密码的UITextFields。
当用户按下“登录”时LoginViewController上的按钮,该类如何从容器视图中嵌入的UITableViewController获取信息?
答案 0 :(得分:0)
您可以在var geocoder = new google.maps.Geocoder();
$scope.addresses
var looping = function(index) {
var storeItem = $scope.addresses[index];
var address = ...
myGeocode(address, function(results, status) {
..
index++;
if (index < $scope.addresses.length) {
looping(index, arguments.callee);
}
});
}
looping(0);
function myGeocode(address, callback) {
var geocoder = new google.maps.Geocoder();
geocoder.geocode({
'address' : address
}, callback);
}
中捕获登录表单视图控制器,因为容器视图会触发到子视图控制器的嵌入式segue。然后让登录表单View Controller公开电子邮件和密码。下面的代码是在Swift中,但没有任何关于它的神奇Swifty。它更容易证明我的意思。
prepareForSegue(segue:sender:)
如果需要,可以根据表单值扩展以启用/禁用登录按钮。
要翻转它并回调父级,就像讨论讨论所讨论的那样,在父级上使用协议并在执行segue操作期间将其附加到表单,就像上面一样。
class LogInViewController : UIViewController {
var logInForm : LogInFormViewController?
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if let child = segue.destinationViewController as? LogInFormViewController {
logInForm = child
}
}
@IBOutlet func logIn(sender: AnyObject?) {
sendLogIn(logInForm?.email, logInForm?.password)
}
}
class LogInFormTableViewController : UITableViewController {
var email:String { get { return _emailField.text } }
var password:String { get { return _passwordField.text } }
}
答案 1 :(得分:0)