0

这是我的 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>>

我以前从未遇到过这个问题;输出应如下所示:

oClientFirstName: Bob
lastName: Jones
concatenatedName: BobJones

这是怎么回事?

4

3 回答 3

3

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

你得到了对象的结果。

于 2013-08-21T03:27:30.720 回答
1

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

于 2013-08-21T03:32:01.653 回答
0
NSLog(@"\n\noCLientFirstName: %@\nlastName: %@\nconcatenatedName: %@",oClientFirstName.text, lastName.text, concatenatedName.text);

这是您问题的解决方案:)

于 2013-08-22T12:51:52.467 回答