gpt4 book ai didi

iphone - 连接到数据源/委托(delegate)时 UIPickerView 崩溃应用程序

转载 作者:行者123 更新时间:2023-12-03 21:22:57 24 4
gpt4 key购买 nike

我绞尽脑汁试图从《Head First iPhone Development》一书中获得最简单的教程来运行

有一个绑定(bind)到对象数组的 UIPickerView。就这些。它没有做任何事情,我想要它做的只是显示数组中的内容(目前)。我已经逐字逐句地按照书中的步骤进行操作,并且重新启动了至少 5 次。在我最近的尝试中,我发现了如何调试并添加了一些断点。

这是应用程序所能达到的程度

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
return 1;
}

如果我将该行更改为返回 0;应用程序加载时会显示一个空的 UIPickerView。如果是这样,应用程序在运行时就会崩溃。

我已经验证了数组存在并且有数据 - 将 pickerview 设置为 0 个组件时,我可以将数组中的任何行返回到标签。只有当我通过 IB 将 pickerview 连接到数据源/委托(delegate)时,它才会被轰炸。

我真的已经筋疲力尽了,几周来我一直在努力让它断断续续地工作,准备把 MacBook 扔出窗外,用十字弓追捕史蒂夫·乔布斯。我觉得特别愚蠢,这是书中的第一个例子。任何帮助将非常感激。

更新:

这是代码

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
return 1;
}


- (NSInteger)pickerView:(UIPickerView *) pickerViewnumberOfRowsInComponent :
(NSInteger)component {
return [activities count];
}


- (NSString *)pickerView:(UIPickerView *) titleForRow:(NSInteger)row forComponent:(NSInteger)component{
return [activities objectAtIndex:row];
}

我刚刚尝试在“pickerViewnumberOfRowsInComponent”中插入一个空格,尽管书中没有空格。放入一个空格(例如 pickerView numberOfRowsInComponent)可以使 UIPickerView 工作,但它充满了问号而不是数组内容。看来书上确实有错别字。

最佳答案

只是为了根据您的原始代码向大家澄清...

您的委托(delegate)方法缺少空格:

- (NSInteger)pickerView:(UIPickerView *) pickerViewnumberOfRowsInComponent: ...

应该是:

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent: ...

并且您的其他委托(delegate)方法遗漏了参数名称 pickerView:

- (NSString *)pickerView:(UIPickerView *) titleForRow: ...

应该是:

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow: ...

关于iphone - 连接到数据源/委托(delegate)时 UIPickerView 崩溃应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3080186/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com