原文地址:作者:
概述
该NSScanner
类是从一个抽象超类集群,它可以扫描值声明为对象的编程接口NSString
对象。
一个NSScanner
对象解释并转换成一个字符NSString
值的对象为数量和字符串。 你指派它的扫描仪创建的字符串,并通过扫描仪的字符串的字符的进展,从开始到结束,你要求的项目。
由于集群阶级性质,扫描仪的对象不是实际情况的NSScanner
子一类,但其私人。 虽然扫描仪对象的类是私有的,它的接口是公共的,因为,这种抽象宣布超NSScanner
。 原始的方法对NSScanner
是string
,根据上市的所有方法“配置扫描器” “一节中的方法”的任务。 您创建的对象使用这个类被称为扫描对象(当没有将导致混乱,因为扫描仪只)。
您可以设置一个NSScanner
对象忽略一个字符集,因为它扫描字符串使用setCharactersToBeSkipped:
方法。 跳过的字符集默认是空格和换行符的字符集。
要检索的字符串未扫描的余下部分,使用[[scanner string] substringFromIndex: [scanner scanLocation]]
类方法
localizedScannerWithString:
返回NSScanner
对象,扫描一个给定的字符串根据用户的默认语言环境。
参数
- aString
-
该字符串进行扫描。
返回值
一个NSScanner
扫描aString对象,根据用户的默认语言环境。
讨论
设置字符串扫描调用initWithString:
与aString。 语言环境设置setLocale:
可用性
- 在Mac OS现有的X 10.0和更高版本。
宣布
NSScanner.h
scannerWithString:
返回NSScanner
对象,扫描给定的字符串。
参数
- aString
-
该字符串进行扫描。
返回值
一个NSScanner
对象扫描aString。
讨论
设置字符串扫描调用initWithString:
与aString。
实例方法
区分大小写
返回一个布尔值,指示是否接收器中的字符区分它扫描的情况。
返回值
YES
,如果接收器的区别,否则,案中的字符它扫描, NO
。
讨论
扫描仪默认情况下不区分大小写。 请注意,大小写不适用的字符被跳过。
可用性
- 在Mac OS现有的X 10.0和更高版本。
参见
– setCaseSensitive:
– setCharactersToBeSkipped:
宣布
NSScanner.h
charactersToBeSkipped
返回字符集包含的字符的接收器忽略元素时,寻找一个可扫描。
返回值
字符集包含的字符的接收器忽略元素时,寻找一个可扫描。
讨论
例如,如果一个扫描器的空间和你忽略它发送一个scanInt:
消息时,它会跳过空格,直到找到一个十进制数字或其他字符。 当一个元素被扫描,但是,没有字符被跳过。 如果您扫描是什么东西令中的字符设置为跳过(例如,使用scanInt:
字符集时要跳过是小数位数),其结果是不确定的。
设置默认为跳过空格和换行符的字符集。
可用性
- 在Mac OS现有的X 10.0和更高版本。
参见
– setCharactersToBeSkipped:
whitespaceAndNewlineCharacterSet
(NSCharacterSet
)
宣布
NSScanner.h
initWithString:
返回NSScanner
对象初始化扫描一个给定的字符串。
参数
- aString
-
该字符串进行扫描。
返回值
一个NSScanner
对象初始化扫描开始aString从。 返回的对象可能比原来的接收器不同。
可用性
- 在Mac OS现有的X 10.0和更高版本。
参见
+ localizedScannerWithString:
+ scannerWithString:
宣布
NSScanner.h
isAtEnd
返回一个布尔值,指示是否接收器已用尽所有重要人物
返回值
YES
,如果接收器已经用尽了所有重大的字符串字符,否则NO
。
如果将字符集只跳过依然存在,返回YES
。
可用性
- 在Mac OS现有的X 10.0和更高版本。
参见
– charactersToBeSkipped
关联的例子代码
- QTAudioContextInsert
- QTAudioExtractionPanel
宣布
NSScanner.h
语言环境
返回接收器的语言环境。
返回值
接收器的语言环境,或nil
,如果没有。
讨论
扫描器的语言环境影响的方式解释从字符串的数值。 特别是,扫描仪使用的语言环境的小数分隔符来区分整数和浮点表示小数部分。 一个没有语言环境设置扫描仪使用非本地化的值。
可用性
- 在Mac OS现有的X 10.0和更高版本。
参见
– setLocale:
宣布
NSScanner.h
scanCharactersFromSet:intoString:
扫描一样从一个特定的字符集字符的长字符串遇到,积累成一个的引用返回的字符串的字符。
参数
- scanSet
-
的字符集扫描。
StringValue的 -
返回时,包含字符扫描。
返回值
YES
,如果接收扫描的任何字符,否则NO
。
讨论
调用此方法NULL
作为StringValue的过去简单地扫描一个给定的字符集。
可用性
- 在Mac OS现有的X 10.0和更高版本。
参见
– scanUpToCharactersFromSet:intoString:
宣布
NSScanner.h
scanDecimal:
一扫描NSDecimal
值,返回找到一个参照值。
参数
- decimalValue
-
返回时,包含扫描的价值。 见
NSDecimalNumber
信息类规范更多NSDecimal
值。
返回值
YES
,如果找到一个有效的接收器NSDecimal
代表,否则NO
。
讨论
调用此方法NULL
作为decimalValue简单地扫描过去一NSDecimal
代表性。
可用性
- 在Mac OS现有的X 10.0和更高版本。
关联的例子代码
- NumberInput_IMKit_Sample
宣布
NSDecimalNumber.h
scanDouble:
一个double值扫描,发现返回参考价值。
参数
- doubleValue
-
返回时,包含扫描的价值。 包含
HUGE_VAL
或–HUGE_VAL
溢出,或0.0
上溢。
返回值
YES
,如果找到一个有效的接收器的浮点表示,否则NO
。
讨论
跳过过去在溢出的情况下过剩数字,因此扫描仪的立场是过去的整个浮点表示。
调用此方法NULL
作为doubleValue简单地扫描过去的双值表示。 浮点数表示被假定为符合IEEE。
可用性
- 在Mac OS现有的X 10.0和更高版本。
参见
doubleValue
(NSString
)
宣布
NSScanner.h
scanFloat:
一个浮动值扫描,发现返回参考价值。
参数
- floatValue
-
返回时,包含扫描的价值。 包含
HUGE_VAL
或–HUGE_VAL
溢出,或0.0
上溢。
返回值
YES
,如果找到一个有效的接收器的浮点表示,否则NO
。
讨论
跳过过去在溢出的情况下过剩数字,因此扫描仪的立场是过去的整个浮点表示。
调用此方法NULL
作为floatValue过去简单地扫描一个float值表示。 浮点数表示被假定为符合IEEE。
可用性
- 在Mac OS现有的X 10.0和更高版本。
参见
floatValue
(NSString
)
关联的例子代码
- iSpend
- iSpendPlugin
- 石英作曲QCTV
宣布
NSScanner.h
scanHexDouble:
为从十六进制表示的double值扫描,发现返回参考价值。
参数
- 结果
-
返回时,包含扫描的价值。
返回值
YES
,如果找到一个有效的接收器双点的代表性,否则NO
。
讨论
这相当于%a
或%A
格式。 十六进制双重代表之前,必须0x
或0X
。
调用此方法NULL
作为结果简单地扫描过去的十六进制双重代表。
可用性
- 可在Mac OS X v10.5及更高版本。
宣布
NSScanner.h
scanHexFloat:
为从十六进制表示的double值扫描,发现返回参考价值。
参数
- 结果
-
返回时,包含扫描的价值。
返回值
YES
,如果找到一个有效的接收器浮点数表示,否则NO
。
讨论
这相当于%a
或%A
格式。 十六进制浮点表示前面必须0x
或0X
。
调用此方法NULL
作为结果简单地扫描过去的十六进制浮点表示。
可用性
- 可在Mac OS X v10.5及更高版本。
宣布
NSScanner.h
scanHexInt:
为从一个十六进制表示的无符号值扫描,发现返回参考价值。
参数
- intValue
-
返回时,包含扫描的价值。 包含
INT_MAX
或INT_MIN
溢出。
返回值
返回YES
,如果接收器发现一个有效的十六进制整数表示,否则NO
。
讨论
十六进制整数表示可以选择的前面0x
或0X
。 跳过过去在溢出的情况下过剩的数字,所以接收机的位置是过去的整个十六进制表示。
调用此方法NULL
作为intValue简单地扫描过去的十六进制整数表示。
可用性
- 在Mac OS现有的X 10.0和更高版本。
宣布
NSScanner.h
scanHexLongLong:
为从十六进制表示的double值扫描,发现返回参考价值。
参数
- 结果
-
返回时,包含扫描的价值。
返回值
YES
,如果找到一个有效的接收器双点的代表性,否则NO
。
讨论
调用此方法NULL
作为结果简单地扫描过去的很长很长的十六进制表示形式。
可用性
- 可在Mac OS X v10.5及更高版本。
宣布
NSScanner.h
scanInt:
为从一个十进制表示的int值扫描,发现返回参考价值。
参数
- intValue
-
返回时,包含扫描的价值。 包含
INT_MAX
或INT_MIN
溢出。
返回值
YES
,如果接收器发现一个有效的小数的整数表示,否则NO
。
讨论
跳过过去在溢出的情况下过剩的数字,所以接收机的位置是过去的整个十进制表示。
调用此方法NULL
作为intValue过去简单地扫描一个十进制整数表示。
可用性
- 在Mac OS现有的X 10.0和更高版本。
参见
intValue
(NSString
)– scanInteger:
宣布
NSScanner.h
scanInteger:
扫描一 NSInteger 值从十进制表示,他返回找到的参考价值
参数
- 值
-
返回时,包含扫描的价值。
返回值
YES
,如果接收器发现一个有效的整数表示,否则NO
。
讨论
跳过过去在溢出的情况下过剩的数字,所以接收机的位置是过去整个的整数表示。
调用此方法NULL
的值简单地扫描过去一个十进制整数表示。
可用性
- 可在Mac OS X v10.5及更高版本。
参见
integerValue
(NSString
)– scanInt:
宣布
NSScanner.h
scanLocation
返回字符位置,接收器将开始其下一次扫描操作。
返回值
字符位置上,接收器将开始其下一次扫描操作。
可用性
- 在Mac OS现有的X 10.0和更高版本。
参见
– setScanLocation:
宣布
NSScanner.h
scanLongLong:
从一个相当长的十进制表示的long值扫描,发现返回参考价值。
参数
- longLongValue
-
返回时,包含扫描的价值。 包含
LLONG_MAX
或LLONG_MIN
溢出。
返回值
YES
,如果接收器发现一个有效的小数的整数表示,否则NO
。
讨论
所有溢出位被跳过。 跳过过去在溢出的情况下过剩的数字,所以接收机的位置是过去的整个十进制表示。
调用此方法NULL
作为longLongValue简单地扫描过去很长的十进制整数表示。
可用性
- 在Mac OS现有的X 10.0和更高版本。
宣布
NSScanner.h
scanString:intoString:
扫描一个给定的字符串,返回按引用的等效字符串对象,如果找到一个匹配。
参数
- 串
-
该字符串来扫描当前扫描的位置。
StringValue的 -
返回时,如果接收到的位置的字符串包含一个等效的字符串在当前扫描,包含一个字符串相当于字符串 。
返回值
YES
,如果StringValue的扫描位置相匹配的字符时,否则NO
。
讨论
如果 string是存在于当前扫描的位置,那么当前的位置是先进的扫描后的字符串,否则扫描的位置不改变。
调用此方法NULL
作为StringValue的过去简单地扫描一个给定的字符串。
可用性
- 在Mac OS现有的X 10.0和更高版本。
参见
– scanUpToString:intoString:
宣布
NSScanner.h
scanUpToCharactersFromSet:intoString:
扫描,直到从一个给定字符串的字符集遇到,积累成一个的通过引用返回字符串的字符。
参数
- stopSet
-
最多的字符设置来扫描。
StringValue的 -
返回时,包含字符扫描。
返回值
YES
,如果接收扫描的任何字符,否则NO
。
如果仅在扫描字符charactersToBeSkipped
字符集(这是空白和换行符默认设置),然后返回NO
。
讨论
调用此方法NULL
作为StringValue的简单扫描到一个给定的字符集。
如果没有字符的字符串stopSet目前在扫描仪的来源,字符串的其余部分的来源是StringValue的投入,接收机的scanLocation
前进到字符串结束的来源,并且该方法返回YES
。
可用性
- 在Mac OS现有的X 10.0和更高版本。
参见
– scanCharactersFromSet:intoString:
宣布
NSScanner.h
scanUpToString:intoString:
扫描字符串,直到遇到一个给定的字符串,积累成一个的引用返回的字符串的字符。
参数
- stopString
-
该字符串扫描到。
StringValue的 -
返回时,包含任何字符被扫描。
返回值
YES
,如果接收器扫描任何字符,否则NO
。
如果仅在扫描字符charactersToBeSkipped
字符集(默认是空格和换行字符集),则此方法返回NO
。
讨论
如果stopString
是存在于接收,位置,然后在返回的扫描设置为字符串开头的。
如果stopString
接收器是第一个字符串中,然后该方法将返回NO
和StringValue的是没有改变。
如果搜索字符串( stopString
)不是字符串中扫描仪的来源,字符串的其余部分的来源是StringValue的投入,接收机的scanLocation
前进到字符串结束的来源,并且该方法返回YES
。
调用此方法NULL
作为StringValue的简单扫描到一个给定的字符串。
可用性
- 在Mac OS现有的X 10.0和更高版本。
参见
– scanString:intoString:
宣布
NSScanner.h
setCaseSensitive:
设置是否接收器是大小写敏感,扫描字符。
参数
- 国旗
-
如果
YES
,接收器将区分情况时,扫描字符,否则会忽略大小写的区别。
讨论
扫描仪默认情况下不区分大小写。 请注意,大小写不适用的字符被跳过。
可用性
- 在Mac OS现有的X 10.0和更高版本。
参见
– caseSensitive
– setCharactersToBeSkipped:
宣布
NSScanner.h
setCharactersToBeSkipped:
设置的字符集时忽略扫描的值表示。
参数
- skipSet
-
时忽略的字符表示一个值扫描。 通
nil
不忽视任何字符。
讨论
例如,如果一个扫描器的空间和你忽略它发送一个scanInt:
消息时,它会跳过空格,直到找到一个十进制数字或其他字符。 当一个元素被扫描,但是,没有字符被跳过。 如果您扫描是什么东西令中的字符设置为跳过(例如,使用scanInt:
字符集时要跳过是小数位数),其结果是不确定的。
要跳过的字符被视为直译为单个值。 扫描器并不适用于它的大小写设置这些字符,不尝试匹配的字符可以套任何字符序列组成跳过(尽管它比赛前,单独组成的字符)。 如果你想跳过所有的元音,而扫描字符串,例如,可以设置要跳过的字符在字符串“AEIOUaeiou”这些(加上任何预先重音字符组成的变体)。
跳过的字符集默认是空格和换行符的字符集。
可用性
- 在Mac OS现有的X 10.0和更高版本。
参见
– charactersToBeSkipped
whitespaceAndNewlineCharacterSet
(NSCharacterSet
)
关联的例子代码
- 的ImageMap
- ImageMapExample
- QTAudioContextInsert
- QTAudioExtractionPanel
- 石英作曲QCTV
宣布
NSScanner.h
那么setlocale:
设置接收机的区域设置特定的语言环境。
参数
- aLocale
-
为接收器的语言环境。
讨论
扫描器的语言环境影响的方式解释该字符串值。 特别是,扫描仪使用的语言环境的小数分隔符来区分整数和浮点表示小数部分。 一个新的扫描器的语言环境是默认nil
,这导致它使用非本地化的值。
可用性
- 在Mac OS现有的X 10.0和更高版本。
参见
– locale
宣布
NSScanner.h
setScanLocation:
设置位置的下一次扫描操作将开始一个给定的索引。
参数
- 指数
-
该位置的下一次扫描操作将开始。 提出了一个
NSRangeException
如果指数为超出字符串结束扫描。
讨论
这种方法是备份到错误后重新扫描有用。
而不是设置扫描位置直接跳过已知序列的字符,使用scanString:intoString:
或scanCharactersFromSet:intoString:
允许您验证预期的子(或字符集),目前是事实。
可用性
- 在Mac OS现有的X 10.0和更高版本。
参见
– scanLocation
宣布
NSScanner.h
串
返回与该接收器的创建或初始化字符串。
返回值
与该接收器的创建或初始化字符串。
可用性
- 在Mac OS现有的X 10.0和更高版本。
参见
– locale
宣布
NSScanner.h