我正在尝试将我的文本字段的文本设置为等于已保存的字符串。我将其全局设置,因为我需要在另一点访问它。我收到此错误:
Undefined symbols for architecture arm64:
"_tailNum", referenced from:
-[rvc newPlaneClicked:] in rvc.o
"_MM", referenced from:
-[rvc newPlaneClicked:] in rvc.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
是什么导致此问题/如何解决?
extern NSString *tailNum;
extern NSString *MM;
- (void)newPlaneClicked:(id)sender {
UIAlertView *newPlaneAlert = [[UIAlertView alloc]initWithTitle:@"FlightLog Pro" message:@"Enter tail number and make/model:"delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Save", nil];
newPlaneAlert.delegate = self;
[newPlaneAlert setAlertViewStyle:UIAlertViewStyleLoginAndPasswordInput];
UITextField *enterNewPlaneTail = [newPlaneAlert textFieldAtIndex:0];
UITextField *enterNewPlaneMM = [newPlaneAlert textFieldAtIndex:1];
[enterNewPlaneTail setPlaceholder:@"Click to enter a make/model."];
[enterNewPlaneMM setPlaceholder:@"Click to enter a plane tail number."];
[newPlaneAlert textFieldAtIndex:0].autocapitalizationType = UITextAutocapitalizationTypeSentences;
[newPlaneAlert textFieldAtIndex:0].autocorrectionType = YES;
[newPlaneAlert textFieldAtIndex:1].autocapitalizationType = UITextAutocapitalizationTypeSentences;
[newPlaneAlert textFieldAtIndex:1].autocorrectionType = YES;
[newPlaneAlert textFieldAtIndex:1].secureTextEntry = NO;
[newPlaneAlert show];
enterNewPlaneTail.text = tailNum;
enterNewPlaneMM.text = MM;
}
最佳答案
放这些声明
extern NSString *tailNum;
extern NSString *MM;
放入
.h
文件中,并在.m
文件的全局范围内为其分配一些值:NSString *tailNum = @"tailNum";
NSString *MM = @"MM";
另请参阅有关外部变量的更多信息。您可以从Wikipedia开始。 Here是另一种解释
关于objective-c - 尝试将文本字段文本设置为字符串时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24579899/