Instance Method インスタンスメソッド

getObjectValue(_:for:errorDescription:)

The default implementation of this method raises an exception. このメソッドの省略時の実装は例外を引き起こします。

Declaration 宣言

func getObjectValue(_ obj: AutoreleasingUnsafeMutablePointer<AnyObject?>?, 
                for string: String, 
   errorDescription error: AutoreleasingUnsafeMutablePointer<NSString?>?) -> Bool

Parameters パラメータ

anObject

If conversion is successful, upon return contains the object created from string. 変換が成功するならば、戻りではstringから作成されるオブジェクトを含みます。

string

The string to parse. 構文解析する文字列。

error

If non-nil, if there is a error during the conversion, upon return contains an NSString object that describes the problem. nilならば、変換の間にエラーがあるならば、戻りでは問題を記述するNSStringオブジェクトを返します。

Return Value 戻り値

true if the conversion from string to cell content object was successful, otherwise false. true、もし文字列からセル内容オブジェクトへの変換が成功したならば、そうでなければfalse

Discussion 議論

When implementing this method in a subclass, return by reference the object anObject created from string. If string is equal to the value of the converted object, such as for formatters whose converted value type is NSString, it can be returned by reference without creating a new object. このメソッドをサブクラスに実装する場合、stringから作成されるanObjectオブジェクトを参照によって返してください。stringが変換されたオブジェクトの値と等しいならば、例えばそれの変換された値型がNSStringであるフォーマッタに対してなど、それは新しいオブジェクトの作成なしに参照によって返されることができます。

Return true if the conversion is successful. If you return false, also return by indirection (in error) a localized user-presentable NSString object that explains the reason why the conversion failed; the delegate (if any) of the NSControl object managing the cell can then respond to the failure in control:didFailToFormatString:errorDescription:. However, if error is nil, the sender is not interested in the error description, and you should not attempt to assign one. 変換が成功するならば、trueを返します。あなたがfalseを返すならば、また遠回しに(errorにおいて)ローカライズされたユーザに提示可能なNSStringオブジェクトを返してください、それはなぜ変換が失敗したか理由を説明するものです;セルを管理するNSControlオブジェクトの委任先(もしあれば)は、そのとき control:didFailToFormatString:errorDescription: での失敗に応答できます。しかしながら、errornilならば、送り手はエラー解説に興味がありません、そしてあなたはそれを割り当てようとすべきではありません。

The following example (which is paired with the example given in string(for:)) converts a string representation of a dollar amount that includes the dollar sign; it uses an NSScanner instance to convert this amount to a float after stripping out the initial dollar sign. 以下の例(それはstring(for:)で与えられる例と1組になるものです)は、ドル符号を含むドル額の文字列表現を変換します;それはNSScannerインスタンスを使ってこの量を、冒頭のドル符号を剥ぎ取った後に、floatに変換します。


- (BOOL)getObjectValue:(id *)obj forString:(NSString *)string errorDescription:(NSString  **)error {
    float floatResult;
    NSScanner *scanner;
    BOOL returnValue = NO;
 
    scanner = [NSScanner scannerWithString: string];
    [scanner scanString: @"$" intoString: NULL]; // ignore  return value
    if ([scanner scanFloat:&floatResult] && ([scanner isAtEnd])) {
        returnValue = YES;
        if (obj) {
            *obj = [NSNumber numberWithFloat:floatResult];
        }
    } else {
        if (error) {
            *error = NSLocalizedString(@"Couldn’t convert  to float", @"Error converting");
        }
    }
    return returnValue;
}

Special Considerations 特別な注意事項

Prior to OS X v10.6, the implementation of this method in both NumberFormatter and DateFormatter would return true and an object value even if only part of the string could be parsed. This is problematic because you cannot be sure what portion of the string was parsed. For applications linked on or after OS X v10.6, this method instead returns an error if part of the string cannot be parsed. You can use getObjectValue:forString:range:error: to get the old behavior—it returns the range of the substring that was successfully parsed. OS X 10.6より前、このメソッドの実装はNumberFormatterDateFormatterの両方において、trueおよびあるオブジェクト値を返します、たとえ文字列の一部が構文解析されただけであるとしてもです。これは問題があります、なぜならあなたは文字列のどの部分が構文解析されたか確信できないからです。OS X 10.6にまたは以降と組み合わされたアプリケーションに対して、このメソッドは代わりにエラーを、文字列の一部が構文解析できなかったならば返します。あなたは、getObjectValue:forString:range:error:を使って古い挙動を得ることができます — それは、うまく構文解析された下位文字列の範囲を返します。

See Also 参照

Related Documentation 関連文書