Ios6 为什么我在做NSLog时会得到这个?

Ios6 为什么我在做NSLog时会得到这个?,ios6,nslog,Ios6,Nslog,这是我的NSLog的代码行: NSLog(@"\n\noCLientFirstName: %@\nlastName: %@\nconcatenatedName: %@",oClientFirstName, lastName, concatenatedName); 为什么我会得到这样的输出 oCLientFirstName: <UITextField: 0xefe0330; frame = (394 293; 160 30); text = 'Bob'; clipsToBounds

这是我的NSLog的代码行:

    NSLog(@"\n\noCLientFirstName: %@\nlastName: %@\nconcatenatedName: %@",oClientFirstName, lastName, concatenatedName);
为什么我会得到这样的输出

oCLientFirstName: <UITextField: 0xefe0330; frame = (394 293; 160 30); text = 'Bob'; clipsToBounds = YES; opaque = NO; autoresize = TM+BM; gestureRecognizers = <NSArray: 0xefe12d0>; layer = <CALayer: 0xefe0120>>

lastName: <UITextField: 0xef05bd0; frame = (20 40; 260 40); text = 'Jones'; clipsToBounds = YES; opaque = NO; gestureRecognizers = <NSArray: 0xef057c0>; layer = <CALayer: 0xef05ba0>>

concatenatedName: Bob<UITextField: 0xef05bd0; frame = (20 40; 260 40); text = 'Jones'; clipsToBounds = YES; opaque = NO; gestureRecognizers = <NSArray: 0xef057c0>; layer = <CALayer: 0xef05ba0>>

发生了什么事?

%@NSLog中的格式说明符将按顺序调用位置的对象参数的以下方法。 调试说明 描述


您将得到对象的结果

NSLog中的%@格式说明符将按顺序对位置的对象参数调用以下方法。 调试说明 描述


您将得到对象的结果

这看起来像是将
UITextField
对象传递给日志函数,而不是nsstring。仔细检查类型并相应地调整代码。

这看起来像是将
UITextField
对象传递给日志函数,而不是nsstring。仔细检查类型并相应地调整代码

NSLog(@"\n\noCLientFirstName: %@\nlastName: %@\nconcatenatedName: %@",oClientFirstName.text, lastName.text, concatenatedName.text);
这就是你问题的答案:)


这就是你问题的答案:)

为什么你不应该得到这个?我发现了。。。正在传递UITextField而不是NSString。。。如果你能将你的评论改写为答案,我会给你分数。你能给出这样的回答真是太好了,我很高兴你能找到答案。为什么你不能得到这个?我发现了。。。正在传递UITextField而不是NSString。。。如果你把你的评论改写成一个答案,我会给你分数。你能提供这样的回答真是太好了,我很高兴你能找到答案。
NSLog(@"\n\noCLientFirstName: %@\nlastName: %@\nconcatenatedName: %@",oClientFirstName.text, lastName.text, concatenatedName.text);