在下面的代码中,我有一个动作/按钮,当点击时会带你到另一个viewController(SecondViewController
),一切正常,但有一行我不完全理解的代码。
这行代码在做什么?
secondVC.delegate = self
我们在这里谈论什么代表?如果我只需要转到其他视图并且我没有传递任何数据,那真的需要吗?
@IBAction func goToView(sender: AnyObject) {
let secondVC= storyboard?.instantiateViewControllerWithIdentifier("secondViewController") as! SecondViewController
secondVC.delegate = self // is this needed?
self.presentViewController(secondVC, animated:true, completion:nil)
}
答案 0 :(得分:6)
- secondVC.delegate = self
醇>
这行编码是将当前类的对象引用传递给SecondViewController。现在,您可以通过在secondViewController中使用委托对象来调用firstViewController的方法(我假设这个名称)。
- 不需要此代表
醇>
,如果你只是想转到你的情况下是NextViewController的Next Screen。
- 有用的代码:
醇>
以下将您转到下一个控制器,确保您有或没有导航控制器。与NavigationController一样,您必须将pushConController推入堆栈。
@IBAction func goToView(sender: AnyObject) {
let secondVC= storyboard?.instantiateViewControllerWithIdentifier("secondViewController") as! SecondViewController
self.presentViewController(secondVC, animated:true, completion:nil)
}
或者在NavigationController的情况下
@IBAction func goToView(sender: AnyObject) {
let secondVC = self.storyboard?.instantiateViewControllerWithIdentifier("secondViewController") as? SecondViewController
self.navigationController?.pushViewController(secondVC!, animated: true)
}
我希望我的描述性答案会对你有所帮助。随意在评论中询问任何查询。
感谢。
答案 1 :(得分:1)
如果我遇到你的情况我会使用以下代码:
@IBAction func goToView(sender: AnyObject)
{
self.performSegueWithIdentifier("secondViewController", sender: sender)
}
答案 2 :(得分:1)
删除
secondVC.delegate = self
并清楚地使用它;
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$data= new WP_Query(array(
'post_type'=>’YOUR_POST_TYPE’, // your post type name
'cat' => 2, // category: product
'order' => 'DESC',
'posts_per_page' => 3, // post per page
'paged' => $paged,
'meta_query' => array( //(array) - Custom field parameters
array(
'key' => 'give_away_event', //(string) - Custom field key.
'value' => 'Active', //(string/array) - Custom field value (Note: Array support is limited to a compare value of 'IN', 'NOT IN', 'BETWEEN', or 'NOT BETWEEN')
'type' => 'CHAR', //(string) - Custom field type. Possible values are 'NUMERIC', 'BINARY', 'CHAR', 'DATE', 'DATETIME', 'DECIMAL', 'SIGNED', 'TIME', 'UNSIGNED'. Default value is 'CHAR'.
'compare' => '=', //(string) - Operator to test. Possible values are '=', '!=', '>', '>=', '<', '<=', 'LIKE', 'NOT LIKE', 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN'. Default value is '='.
)
),
));
if($data->have_posts()) :
while($data->have_posts()) : $data->the_post();
// Your code
endwhile;
$total_pages = $data->max_num_pages;
if ($total_pages > 1){
$current_page = max(1, get_query_var('paged'));
echo paginate_links(array(
'base' => get_pagenum_link(1) . '%_%',
'format' => '/page/%#%',
'current' => $current_page,
'total' => $total_pages,
'prev_text' => __('« prev'),
'next_text' => __('next »'),
));
}
?>
<?php else :?>
<h3><?php _e('404 Error: Not Found', ''); ?></h3>
<?php endif; ?>
<?php wp_reset_postdata();?>
不需要使用委托vc。 感谢