Bool类型值的输出

nslog输出bool类型的变量可以使用%i或%s


对于其他一些变量或对象的输出可以参考如下:

Specifier

Description

%@

Objective-C object, printed as the string returned by descriptionWithLocale: if available, or description otherwise. Also works withCFTypeRef objects, returning the result of the CFCopyDescription function.

%%

'%' character.

%d%D

Signed 32-bit integer (int).

%u%U

Unsigned 32-bit integer (unsigned int).

%x

Unsigned 32-bit integer (unsigned int), printed in hexadecimal using the digits 0–9 and lowercase a–f.

%X

Unsigned 32-bit integer (unsigned int), printed in hexadecimal using the digits 0–9 and uppercase A–F.

%o%O

Unsigned 32-bit integer (unsigned int), printed in octal.

%f

64-bit floating-point number (double).

%e

64-bit floating-point number (double), printed in scientific notation using a lowercase e to introduce the exponent.

%E

64-bit floating-point number (double), printed in scientific notation using an uppercase E to introduce the exponent.

%g

64-bit floating-point number (double), printed in the style of %e if the exponent is less than –4 or greater than or equal to the precision, in the style of %f otherwise.

%G

64-bit floating-point number (double), printed in the style of %E if the exponent is less than –4 or greater than or equal to the precision, in the style of %f otherwise.

%c

8-bit unsigned character (unsigned char), printed by NSLog() as an ASCII character, or, if not an ASCII character, in the octal format\\ddd or the Unicode hexadecimal format \\udddd, where d is a digit.

%C

16-bit Unicode character (unichar), printed by NSLog() as an ASCII character, or, if not an ASCII character, in the octal format \\ddd or the Unicode hexadecimal format \\udddd, where d is a digit.

%s

Null-terminated array of 8-bit unsigned characters. Because the %s specifier causes the characters to be interpreted in the system default encoding, the results can be variable, especially with right-to-left languages. For example, with RTL, %s inserts direction markers when the characters are not strongly directional. For this reason, it’s best to avoid %s and specify encodings explicitly.

%S

Null-terminated array of 16-bit Unicode characters.

%p

Void pointer (void *), printed in hexadecimal with the digits 0–9 and lowercase a–f, with a leading 0x.

%a

64-bit floating-point number (double), printed in scientific notation with a leading 0x and one hexadecimal digit before the decimal point using a lowercase p to introduce the exponent.

%A

64-bit floating-point number (double), printed in scientific notation with a leading 0X and one hexadecimal digit before the decimal point using a uppercase P to introduce the exponent.

%F

64-bit floating-point number (double), printed in decimal notation.

Table 2  Length modifiers supported by the  NSString formatting methods and CFString formatting functions

Length modifier

Description

h

Length modifier specifying that a following doux, or X conversion specifier applies to a short or unsigned short argument.

hh

Length modifier specifying that a following doux, or X conversion specifier applies to a signed char or unsigned charargument.

l

Length modifier specifying that a following doux, or X conversion specifier applies to a long or unsigned long argument.

llq

Length modifiers specifying that a following doux, or X conversion specifier applies to a long long or unsigned long longargument.

L

Length modifier specifying that a following aAeEfFg, or G conversion specifier applies to a long double argument.

z

Length modifier specifying that a following doux, or X conversion specifier applies to a size_t or the corresponding signed integer type argument.

t

Length modifier specifying that a following doux, or X conversion specifier applies to a ptrdiff_t or the corresponding unsigned integer type argument.

j

Length modifier specifying that a following doux, or X conversion specifier applies to a intmax_t or uintmax_t argument

Platform Dependencies

Mac OS X uses several data types—NSIntegerNSUInteger,CGFloat, and CFIndex—to provide a consistent means of representing values in 32- and 64-bit environments. In a 32-bit environment, NSInteger and NSUInteger are defined as int and unsigned int, respectively. In 64-bit environments,NSInteger and NSUInteger are defined as long and unsigned long, respectively. To avoid the need to use different printf-style type specifiers depending on the platform, you can use the specifiers shown in Table 3. Note that in some cases you may have to cast the value.

Table 3  Format specifiers for data types

Type

Format specifier

Considerations

NSInteger

%ld or %lx

Cast the value to long.

NSUInteger

%lu or %lx

Cast the value to unsigned long.

CGFloat

%f or %g

%f works for floats and doubles when formatting; but note the technique described below for scanning.

CFIndex

%ld or %lx

The same as NSInteger.

pointer

%p or %zx

%p adds 0x to the beginning of the output. If you don't want that, use %zx and no typecast.



  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值