我正在为我的应用程序实现一个搜索界面,所以基本上我会将搜索关键字从一个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类.
我有数据表的成本问题.我需要用更聪明的代码替换代码.
我有一个数据表,样本值是这样的:
列: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) 我需要在SQL SERVER 2008中更改数据库名称并在另一个项目中使用它.但是,它包含数百个存储过程,并且还应在存储过程中更改数据库的名称.有没有办法做到这一点?