gpt4 book ai didi

iphone - NSMutable 数组添加条目?

转载 作者:行者123 更新时间:2023-11-28 20:17:48 28 4
gpt4 key购买 nike

我是 objective-c 的新手,我正在创建一个保存记录的应用程序。当我单击保存按钮时,我尝试创建一个添加方法,但当您按下按钮时它不会保存数据,或者如果它保存了它也不会显示它。数据显示在 tableView 中

这是保存按钮的代码:

-(void)savePatient:(id)sender {
LSAppDelegate *delegate = (LSAppDelegate *)[[UIApplication sharedApplication] delegate];
NSMutableArray *patients = delegate.patients;

UITextField *firstnameEntry = (UITextField *)[firstNameCell viewWithTag:777];
UITextField *surnameEntry = (UITextField *)[surnameNameCell viewWithTag:777];
UITextField *dobEntry = (UITextField *)[dobDateCell viewWithTag:777];
UITextField *homeNumberEntry = (UITextField *)[homeNumberCell viewWithTag:777];
UITextField *mobileNumberEntry = (UITextField *)[mobileNumberCell viewWithTag:777];
UITextField *emailAddressEntry = (UITextField *)[emailAddressCell viewWithTag:777];
UITextView *addressEntry = (UITextView *)[addressCell viewWithTag:777];

if (firstnameEntry.text.length > 0) {
Patient *newPatient = [[Patient alloc] init];
newPatient.patientName = firstnameEntry.text;
newPatient.patientSurname = surnameEntry.text;
newPatient.patientDoB = dobEntry.text;
newPatient.patientHomeNumber = homeNumberEntry.text;
newPatient.patientMobileNumber = mobileNumberEntry.text;
newPatient.patientEmail = emailAddressEntry.text;
newPatient.patientAddress = addressEntry.text;
newPatient.patientPicture = nil;
[patients addObject:newPatient];
LSViewController *viewController = delegate.viewController;
[viewController.tableView reloadData];
}
[delegate.navController popViewControllerAnimated:YES];

}

我发现问题出在这里

if (firstnameEntry.text.length > 0) {

请说你是否需要更多的代码

提前致谢

最佳答案

您需要确保您的委托(delegate)具有正确的保留类型而不是复制,因为属性中的副本返回一个数组而不是 NSMutableArray。

虽然你加载数据的问题可能是一个简单的问题,没有分配/初始化你的数组。最好将 patients 数组移动到本地类。

将此属性从您的委托(delegate)移至您的类(class)。

@property (nonatomic, retain) NSMutableArray *patients;

不要使用复制,也不要使用 NSArray。另外,您需要确保在某个地方实例化了可变数组。最好在 viewDidLoad 函数中。

在您的类(class)中,在创建此 View Controller 之前的某处确保您创建了数组。

self.patients = [[NSMutableArray alloc] init];

这假设您使用的是 ARC。如果您不使用 ARC,请务必在 dealloc 方法中释放数组。

通常,如果没有收到数据,那是 b/c 你的数组是 nil 或者是 NSArray 而不是 NSMutableArray。

我还会在您上面的方法中添加断点,并确保您的 tableView 不为 nil 并且您的数组不为 nil。

关于iphone - NSMutable 数组添加条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17241373/

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