我遇到了一个与objective-c 中的数组中的指针相关的问题。
我要做的是获取 NSArray 中的指针,将它们传递给一个方法,然后将返回的值分配回原始指针(属于数组的指针)。
根据我对 C 和 C++ 的了解,通过取消引用数组中的指针,我应该能够更改它们指向的值......这是我正在使用的代码,但它不起作用(价值电话指向根据 NSLog 输出从不更改)。
NSArray *phoneNumbers = [phoneEmailDict objectForKey:@"phone"];
for (NSString* phone in phoneNumbers) {
(*phone) = (*[self removeNonNumbers:phone]);
NSLog(@"phone:%@", phone);
}
这是我将 NSString* 传递给的方法签名:
- (NSString*) removeNonNumbers: (NSString*) string;
如您所见,我正在使用变量 phone 遍历 phoneNumbers 中的每个 NSString*。我将电话传递给 removeNonNumbers:,它返回修改后的 NSString*。我然后取消引用从 removeNonNumber 返回的指针并将值分配给电话。
如您所知,我可能不太了解 Objective-C 对象。我很确定这可以在 C++ 或 C 中使用,但我不明白为什么它在这里不起作用!在此先感谢您的帮助!