我有一个奇怪的问题。我试图以编程方式将dataSource分配给表。
我已UITableView
使用界面生成器在ViewController中为其创建了一个和IBOutlet。我创建了一个实现的类UITableViewDataSource
。我将dataSource
表的设置为dataSource的实例。一切都会编译并正常运行,直到设置dataSource的行在运行时执行。
错误是Thread 1: EXC_BAD_ACCESS (code=EXC_i386_GPFLT)
并且class AppDelegate
定义线突出显示。
class ViewController: UIViewController {
@IBOutlet weak var table: UITableView!
override func viewDidLoad() {
let ds = MyData()
table.dataSource = ds // <---- Runtime error
table.reloadData()
super.viewDidLoad()
}
// ... other methods
}
class MyData: NSObject, UITableViewDataSource {
func tableView(tableView: UITableView!, numberOfRowsInSection section: Int) -> Int {
return 5
}
func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! {
let cell = UITableViewCell()
cell.textLabel.text = "a row"
return cell
}
}
有什么想法为什么我得到这个运行时错误?我正在Swift中使用XCode 6 beta 4。
将您的代码更改为:
class ViewController: UIViewController
{
@IBOutlet weak var table: UITableView!
var dataSource: MyData?
override func viewDidLoad()
{
super.viewDidLoad()
dataSource = MyData()
table.dataSource = dataSource!
}
}
您的应用程序中断,因为返回时会ds
立即将其释放viewDidLoad
。您必须保留对数据源的引用。
问题内容: 我的问题很简单 如何以编程方式设置我的按钮layout_gravity? 我在互联网上找到了它,但它只是抛出了一个Nullpointer异常: 有什么办法吗? 问题答案: Java Kotlin 有关重力值以及如何设置重力,请检查“重力”。 基本上,您应该选择依赖于父项。可以是等等。
问题内容: 这个问题类似于: jsf:在UI中绑定到inputtext的integer属性在提交时设置为零 但是我对解决方案并不完全满意。上下文是相同的:我有一个Web表单,需要一个Integer值。如果文本框为空,我希望我的Integer字段为“null”,但是EL Parser会自动将我的id字段设置为“ 0”。 我可以通过在本地Tomcat VM中设置JVM参数来解决此问题: -Dorg.a
服务器时间在单击按钮事件中自动设置为我的设备。
问题内容: 我正在使用来自Android百分比支持包的PercentRelativeLayout。这就是我的布局。 我想以编程方式更改高度。我该如何使用或其他方式进行操作。 问题答案: 您要设置一个新的百分比值吗?如果是,则需要:
我对使用Swift的UIKit相对较新。目前,我正在尝试制作一个简单的UITableView,其中包含每个单元格的几个UILabels(纯粹以编程方式),尽管我在尝试这样做时遇到了很多麻烦。我的代码如下: 这是当前在模拟器中显示的内容。 这是我想看到的。 我如何着手改变我先前存在的代码以得到我所寻求的最终结果?我有一种感觉,这与我的代理或数据源有关,但无论我做什么,我似乎总是迷路。任何帮助都将不胜
有没有办法以编程方式自定义这些TextInputLayout属性: textColorHint 彩色口音 颜色控制正常 颜色控制已激活 文本选择句柄 我知道如何使用主题属性对它们进行样式化,但是我正在处理的项目动态地加载颜色信息,据我所知,在运行时无法更改主题/样式值。