小编Sem*_*glu的帖子

无法转换'UINavigationController'类型的值

我正在为我的应用程序实现一个搜索界面,所以基本上我会将搜索关键字从一个ViewController传递给另一个ViewController.

我已经做了几次这种类型的参数传递,但这次看起来很奇怪.目标ViewController嵌入在导航控制器中.

现在代码看起来像这样.

override func prepareForSegue(segue: UIStoryboardSegue?, sender: AnyObject!) {
    if (segue?.identifier == "home_to_search") {

       var searchKeyword = txtSearchBarHome.text
       var svc = segue?.destinationViewController as! SearchViewController;
       svc.toPassSearchKeyword = searchKeyword;

       //let nav = segue?.destinationViewController as! UINavigationController
       //let svc = nav.topViewController as! SearchViewController
       //svc.toPassSearchKeyword = searchKeyword;
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经探讨了这些问题, DestinationViewController Segue和UINavigationController swift,当我的ViewController嵌入UINavigationController时,如何设置值?没有运气.

让我想知道的是,我已经在导航控制器中嵌入了ViewControllers,我可以通过segueing传递参数.但是,在这种情况下,它会抛出一个'UINavigationController'类型无法转换值错误.如果我尝试上面的注释代码,它不会在那里抛出错误,但在AppDelegate类.

xcode swift

16
推荐指数
2
解决办法
2万
查看次数

用于访问数据表记录的C#代码优化

我有数据表的成本问题.我需要用更聪明的代码替换代码.

我有一个数据表,样本值是这样的:

列:id,user_id,starttime,endtime

行样本:1,5,5.0.10.2009 08:00:00,05.10.2009 17:00

我的伪代码是

    function something()
    {
    for(int i=0;i<datatable.Rows.Length;i++)
    {
    if(Someobject.variable.Equals(dt.Rows[i][user_id].ToString()))
    {
    if(Date.Compare(somevariable,dt.Rows[i][starttime].ToString())!=0)
    {
    //Do something
    }
    }
    }
}
Run Code Online (Sandbox Code Playgroud)

就是这样的.数据表有超过一千行,当asp.net页面加载时,函数必须调用近一千次.

所以我必须改变它.

我考虑过使用字典,但似乎只需要两个变量.你有什么建议我的.

编辑:

我还没解决问题.这是相关的代码.提前致谢.

protected void RadScheduler_Randevu_TimeSlotCreated(object sender,Telerik.Web.UI.TimeSlotCreatedEventArgs e){

for (int i = 0; i < calismaSaatleridt.Rows.Count; i++)
{
    if (RadScheduler_Randevu.SelectedView.Equals(SchedulerViewType.DayView))
    {
        if (RadScheduler_Randevu.SelectedDate.ToShortDateString().Equals(Convert.ToDateTime(calismaSaatleridt.Rows[i]["calisma_baslangic"]).ToShortDateString()))
        {
            if (e.TimeSlot.Resource.Key.ToString().Equals(calismaSaatleridt.Rows[i]["hekim_id"].ToString()))
            {
                if (DateTime.Compare(e.TimeSlot.Start, Convert.ToDateTime(calismaSaatleridt.Rows[i]["calisma_baslangic"])) < 0 || DateTime.Compare(e.TimeSlot.End, Convert.ToDateTime(calismaSaatleridt.Rows[i]["calisma_bitis"])) > 0)
                {
                    e.TimeSlot.CssClass = "Disabled";
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

}

这是返回结果集的函数.

private DataTable calismaSaatiGetir(string yonetici_id)
    {
        SqlConnection connection …
Run Code Online (Sandbox Code Playgroud)

c# asp.net datatable optimization dictionary

0
推荐指数
1
解决办法
2356
查看次数

在存储过程中更改数据库名称

我需要在SQL SERVER 2008中更改数据库名称并在另一个项目中使用它.但是,它包含数百个存储过程,并且还应在存储过程中更改数据库的名称.有没有办法做到这一点?

sql stored-procedures sql-server-2008

0
推荐指数
1
解决办法
2958
查看次数