macOS/iOS API解説

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。2010年代に書かれた内容です。今後更新はありません。

目次

NSString

INDEX>Foundation

変更しない文字列クラス

解説

変更しない文字列クラスです

継承 NSObject
準拠 NSCoding
  NSCopying
  NSMutableCopying
  NSObject (NSObject)
フレームワーク /System/Library/Frameworks/Foundation.framework
使用可能 Mac OS X v10.0 以降
定義 NSPathUtilities.h
  NSString.h
  NSURL.h

概要

サンプルコード

https://github.com/oomori/NSString

作成

クラス

使用可能

10.0

参照

文字列の作成と初期化

空の文字列を作って返します
  + string
文字列を初期化して返します
  – init

指定したバイト列と長さとエンコーディングでNSStringを作って返します
  – initWithBytes:length:encoding

バイト列からエンコーディングを指定してNSStringを返します
  – initWithBytesNoCopy:length:encoding:freeWhenDone

指定したC文字列と範囲で文字列オブジェクトを初期化して返します
  – initWithCharacters:length

NSStringを初期化して返します
  – initWithCharactersNoCopy:length:freeWhenDone

文字列からを初期化して返します
  – initWithString

C文字列から指定したエンコーディングで初期化して返します
  – initWithCString:encoding

UTF8からNSStringを初期化して返します
  – initWithUTF8String
formatで指定した書式で初期化して返します
  – initWithFormat
formatで指定した書式と引数リストで初期化して返します
  – initWithFormat:arguments

formatで指定した書式と場所で文字列を作成、初期化します
  – initWithFormat:locale
formatで指定した書式と場所で文字列を作成、初期化します
 – initWithFormat:locale:arguments

データを指定したエンコーディングで変換して文字列を初期化して返します
  – initWithData:encoding
書式を指定して文字列を作って返します
  + stringWithFormat
書式を指定してローカライズされた文字列を作って返します
  + localizedStringWithFormat

指定したC文字列から指定した長さの文字列を作って返します
  + stringWithCharacters:length

文字列からコピーして新しく文字列を作って返します
  + stringWithString
C文字列から指定したエンコーディングで文字列を作ります
  + stringWithCString:encoding
UTF8文字からNSStringを作って返します
 + stringWithUTF8String
C文字列からNSStringのインスタンスを作って返します
  + stringWithCString 10.4で廃止
 → +stringWithCString:encodingを使用。
C文字列の先頭から指定した文字数分までのNSStringを作って返します
  + stringWithCString:length 10.4で廃止
C文字列からNSStringを初期化して返します
  – initWithCString: 10.4で廃止
C文字列の指定した長さでNSStringを初期化して返します
  – initWithCString:length 10.4で廃止
C文字列からNSStringを初期化して返します
  – initWithCStringNoCopy:length:freeWhenDone 10.4で廃止

ファイルから文字列を作成、初期化

ファイルから読み込んだデータでNSStringを作って初期化して返します
  + stringWithContentsOfFile:encoding:error

指定したファイルの内容から指定したエンコーディングで読み込んだ文字列を、初期化して返します。
  – initWithContentsOfFile:encoding:error

指定したファイルの内容から指定したエンコーディングで文字列を返します

  + stringWithContentsOfFile:usedEncoding:error
指定したファイルの内容を指定したエンコーディングで初期化して返します
  – initWithContentsOfFile:usedEncoding:error
ファイルから読み込んだデータでNSStringを作って初期化して返します
  + stringWithContentsOfFile 10.4で廃止
stringWithContentsOfFile:usedEncoding:errorを使用
ファイルの内容からNSStringを初期化して返します
  – initWithContentsOfFile 10.4で廃止
initWithContentsOfFile:usedEncoding:errorを使用

URLから文字列を作成、初期化

指定したファイルの内容から指定したエンコーディングで文字列を返します
  + stringWithContentsOfURL:encoding:error

指定したファイルの内容を指定したエンコーディングで初期化して返します
  – initWithContentsOfURL:encoding:error

指定したファイルの内容から指定したエンコーディングで文字列を返します
  + stringWithContentsOfURL:usedEncoding:error

ファイルから指定したエンコーディングを使って文字列オブジェクトを作成します
  – initWithContentsOfURL:usedEncoding:error

URLで読み込んでNSStringを作って返します
  + stringWithContentsOfURL 10.4で廃止
→stringWithContentsOfURL:encoding:error: または →stringWithContentsOfURL:usedEncoding:error: を使用

URLの内容からNSStringを初期化して返します
  – initWithContentsOfURL 10.4で廃止
→initWithContentsOfURL:encoding:error: または →initWithContentsOfURL:usedEncoding:error: を使用

ファイルやURLへ書き込む

指定したエンコーディングでファイルに書き出します
  – writeToFile:atomically:encoding:error
指定したエンコーディングでURLに書き込みます
  – writeToURL:atomically:encoding:error
ファイルに書き込みます
 – writeToFile:atomically 10.4で廃止

URLに書き込みます
  – writeToURL:atomically 10.4で廃止

文字列の長さを得る

ユニコード文字列の長さを返します
  – length
指定したエンコーディングでの長さを返します
  – lengthOfBytesUsingEncoding
指定したエンコーディングでのバイト列の最大の長さを返します
  – maximumLengthOfBytesUsingEncoding

文字とバイトを得る

文字列で番号(index)で指定した文字を返します(ユニコード文字列)
  – characterAtIndex
bufferが示すメモリ領域にaRangeで示されたユニコード文字列を書き込みます。

– getCharacters:range

調査中
  – getBytes:maxLength:usedLength:encoding:options:range:remainingRange

bufferが示すメモリ領域にユニコード文字列を書き込みます
  – getCharacters: 10.6で廃止

C文字列を得る

指定したエンコーディングのC文字列を返します
  – cStringUsingEncoding
指定したエンコーディングのC文字列をバッファに返します
  – getCString:maxLength:encoding
ヌルで終わるUTF8表示を返します
  – UTF8String
C文字列に変換して、そのポインタを返します
  – cString 10.4で廃止
C文字列で表現した場合の長さを返します
  – cStringLength 10.4で廃止
文字列オブジェクトからC文字列を返します
  – getCString 10.4で廃止
バッファに指定した長さのC文字列を返します
  – getCString:maxLength 10.4で廃止
バッファに指定した長さのC文字列を返します
  – getCString:maxLength:range:remainingRange 10.4で廃止
損失があるかもしれないC文字列を返します
  – lossyCString 10.4で廃止

文字列の複合化

文字列にフォーマットされた文字列を追加します
  – stringByAppendingFormat
レシーバにaStringを追加した文字列を返します
   – stringByAppendingString
文字列を指定した範囲で切り取り、代わりの文字列で埋めます
  – stringByPaddingToLength:withString:startingAtIndex

文字の分割

文字列をセパレータで分けて、配列にして返します
  – componentsSeparatedByString

引数で指定したキャラクタセットの文字で区切られる配列を返します。
  – componentsSeparatedByCharactersInSet
文字列の両端から指定した文字セットに含まれる文字列を取り除きます
  – stringByTrimmingCharactersInSet
指定した位置から末尾までの文字列を返します
  – substringFromIndex
指定した範囲の文字列を返します
  – substringWithRange
文字列の先頭から指定した位置までの文字列を返します

  – substringToIndex

文字やsubstringsを検索

文字列オブジェクトから文字セットに含まれる文字の範囲を返します
  – rangeOfCharacterFromSet

文字列からオプション付きで文字セットに含まれる文字の範囲を返します
  – rangeOfCharacterFromSet:options

指定した範囲の文字列からオプション付きで含まれる文字の範囲を返します
  – rangeOfCharacterFromSet:options:range

文字列を比較して部分一致した範囲の文字列を返します
  – rangeOfString
文字列をオプション付きで比較して部分一致したレシーバの範囲の文字列を返します
  – rangeOfString:options
文字列をオプション付きで比較して部分一致するレシーバの範囲を返します
  – rangeOfString:options:range
文字列をオプション、範囲、ロケールで比較して部分一致するレシーバの範囲を返します
  – rangeOfString:options:range:locale

指定した文字列とマッチする行があるかを検索します
  – enumerateLinesUsingBlock

指定した範囲で文字列とマッチする行があるかを調べます。
  – enumerateSubstringsInRange:options:usingBlock

部分文字列の置き換え

レシーバの指定した文字列を別の文字列で置き換えた新しい文字列を返します
  – stringByReplacingOccurrencesOfString:withString
レシーバに含まれる文字列(target)を別の文字列(replacement)で置き換えた新しい文字列オブジェクトを返します
  – stringByReplacingOccurrencesOfString:withString:options:range
レシーバの指定した範囲を文字列(replacement)で置き換えた新しい文字列を返します
  – stringByReplacingCharactersInRange:withString

行、段落範囲の調査

指定した範囲の行の開始・終了・終了位置から改行文字を除いた位置を参照で返します
  – getLineStart:end:contentsEnd:forRange
指定した範囲を含む行全体を返します
  – lineRangeForRange
段落をセットします
  – getParagraphStart:end:contentsEnd:forRange
指定した範囲が含まれる段落の範囲を返します
  – paragraphRangeForRange

文字列の配置

指定した番号の文字の連続した文字の固まりの範囲を返します
  – rangeOfComposedCharacterSequenceAtIndex
調査中
  – rangeOfComposedCharacterSequencesForRange

文字をプロパティリストに変換

文字列をプロパティリストと見なして、プロパティリストを作成して返します
  – propertyList
文字列をキーと値で初期化した辞書として返します
  – propertyListFromStringsFileFormat

文字列の比較

大文字、小文字の区別をせず文字列の比較をして結果を返します
  – caseInsensitiveCompare
レシーバーとstringの間で大文字小文字を区別せずローカライズされた文字を比較します
  – localizedCaseInsensitiveCompare
文字列を比較して結果を返します
  – compare
レシーバーとstringの間でローカライズされた文字を比較します
  – localizedCompare
オプション付きで文字列を比較して結果を返します
  – compare:options
オプション付きで範囲を指定して文字列を比較して結果を返します。
  – compare:options:range
オプション付きで範囲とロケールを指定して文字列を比較して結果を返します
  – compare:options:range:locale
調査中
  – localizedStandardCompare
文字列がレシーバの先頭部分と一致するか返します
  – hasPrefix
文字列がレシーバの末尾部分と一致するか返します
  – hasSuffix
文字列が合っているかを返します
  – isEqualToString
ハッシュテーブル・アドレスとして使える符号なし整数を返します
– hash

文字列の保持

調査中
  – stringByFoldingWithOptions:locale

共有する接頭語を得る

先頭から比較して、レシーバとaStringに共通の文字列を返します
  – commonPrefixWithString:options

大文字小文字の変換

単語の最初の文字を大文字にして返します
  – capitalizedString
小文字にして返します
  – lowercaseString
各文字を大文字にして返します
  – uppercaseString
マッピングと文字列の取得
– decomposedStringWithCanonicalMapping
文字列の内容を標準化します
  – decomposedStringWithCompatibilityMapping
文字列を標準化して返します
  – precomposedStringWithCanonicalMapping
文字列を標準化して返します
  – precomposedStringWithCompatibilityMapping

数値を取得する

double数値を返します
  – doubleValue
浮動小数点値を返します
  – floatValue
整数値を返します
  – intValue
整数値を返します
  – integerValue
倍々精度値を返します
  – longLongValue
ブール値を返します
 – boolValue

エンコーディング

アプリケーションの環境の文字列エンコーディングを返します
  + availableStringEncodings
デフォルトC文字列エンコーディングを返します
  + defaultCStringEncoding
現在の言語のエンコーディングの名前を返す
  + localizedNameOfStringEncoding
エンコードを変換できるか返します
  – canBeConvertedToEncoding
レシーバーの文字列をencodingで指定した方法でエンコードしてNSDataで返します
  – dataUsingEncoding
指定した文字コードに変換したNSDataを作成して返します
  – dataUsingEncoding:allowLossyConversion

文字列を返します
   – description

レシーバーが情報の損失なしで切り替えられる最も速いエンコーディングを返します
  – fastestEncoding
レシーバーが情報の損失なしで切り替えられる最も小さいエンコーディングを返します
  – smallestEncoding

パス

配列の要素をパス区切り記号を挟んで結合した文字列を返します
  + pathWithComponents
レシーバをパスだと見て、パス区切りで区切られている要素を配列にして返します
  – pathComponents
ファイルシステムのパスとしてファイル名が完了しているかを試してみます
  – completePathIntoString:caseSensitive:matchesIntoArray:filterTypes
パス名だと見て、ファイルシステムが使う文字コードに変換したC文字列を返します
  – fileSystemRepresentation
ファイルシステムと合う文字列なら、YESを返してbufferに文字列を返します
  – getFileSystemRepresentation:maxLength
絶対パスかどうか返します
  – isAbsolutePath
ファイルパスの最後の部分(/より後)を返します
  – lastPathComponent
ファイルパスの拡張子を返します
  – pathExtension
~付のディレクトリ(フォルダ)を返します
  – stringByAbbreviatingWithTildeInPath
文字列を追加します(最後尾に/が付いていない場合は付加する
  – stringByAppendingPathComponent
ファイルパスに拡張子を追加します
  – stringByAppendingPathExtension
ファイルパスの最後の部分(/より後)を削除して返します
  – stringByDeletingLastPathComponent
文字列から拡張子を取り除きます
  – stringByDeletingPathExtension
チルダ付きのパスをフルパスにして返します
  – stringByExpandingTildeInPath
シンボリックリンクエイリアス)のパスをオリジナルファイルのパスにして返します
  – stringByResolvingSymlinksInPath
指定した文字をパスとみなして、パスをスタンダード化します
  – stringByStandardizingPath
レシーバの前に配列で現したパスを追加して返します
  – stringsByAppendingPaths

URL

指定したエンコーディングを使ってURLエンコーディングの文字列を返します
  – stringByAddingPercentEscapesUsingEncoding
URLエンコーディング文字列を指定したエンコーディングでNSStringにして返します
  – stringByReplacingPercentEscapesUsingEncoding

クラスメソッド