所以我正在使用 apickerview
并且需要一个字符串来等于我存储在一个array
. 组件的pickerview
代码如下所示。
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
switch (row) {
case 0:
image.image = image1;
email = EmailArray[1];
break;
case 1:
image.image = image2;
email = EmailArray[3];
break;
case 2:
image.image = image3;
email = EmailArray[5];
break;
}
NSLog(@"%@", email)
}
据我所知,这段代码工作得很好。这里NSLog
每次都会返回正确的电子邮件。然后用户按下使用“电子邮件”字符串的按钮。这是该代码的第一部分。
- (IBAction)sendFeedback:(id)sender
{
NSLog(@"%@", email);
}
只有在这里NSLog
不返回正确的电子邮件。它只是冻结程序并给我一个指向那个的线程错误NSLog
。我没有正确地将数组对象传递给字符串吗?
如果我将代码更改为此它就可以了。
switch (row) {
case 0:
image.image = image1;
email = @"testEmail@gmail.com";
break;
之后,两者都NSLogs
将显示测试电子邮件。
请帮我解决这个问题。如果您需要更多信息,请询问。
编辑
这是我的 ViewController.h 文件的开头。
@interface ViewController : UIViewController
<UIPickerViewDataSource, UIPickerViewDelegate, UIImagePickerControllerDelegate> {
NSMutableArray *EmailArray;
}
这是在 ViewController.h 中声明 email 的地方。
@implementation ViewController
NSString *email;
我得到的错误看起来像这样。
Thread 1:EXC_BAD_ACCESS(code=2, address=0x14)