两种方法(一种在按下键盘时起作用,另一种在按下按钮时起作用)调用相同的方法,但是使用IBAction(按钮)的方法没有向方法发送正确的NSString。
- (BOOL)textFieldShouldReturn:(UITextField *)textField{
if([textInput text].length > 0){
[self sendMessage:[textInput text]];
return YES;
}
return NO;
}
- (IBAction)sendButtonClicked:(id)sender {
if([textInput text].length > 0){
NSLog(@"%@ shouldve been", [textInput text]);
[self sendMessage:[textInput text]];
}
}
-(void) sendMessage:(NSString*) message{
NSLog(@"Message sent: %@", message);
[textInput resignFirstResponder];
[textInput setText:@""];
}
我不确定这里发生了什么。
当我点击按钮时,我得到了!
2016-01-02 18:21:37.570 ChatSystem[24369:1848562] Message sent: <UIButton: 0x7f8f98c44cd0; frame = (333 4; 34 29); opaque = NO; autoresize = RM+BM; layer = <CALayer: 0x7f8f98c45240>>
虽然我在键盘上返回时工作正常。两个run-through都有相同的文本输入!