0

Apple がここに文書化した userVisibleDateTimeStringForRFC3339DateTimeString メソッドを使用しようとしています。

最初に jhsDateFormatter という別のクラスを作成し、最初にそれを変更しました

- (NSString *)userVisibleDateTimeStringForRFC3339DateTimeString:(NSString *)rfc3339DateTimeString;

to - (NSMutableString *)userVisibleDateTimeStringForRFC3339DateTimeString:(NSMutableString *)rfc3339DateTimeString :(NSString *)rfc3339DateTimeFormatString;

そのため、目的の日付形式文字列である 2 番目のパラメーターを渡すことができます。

次に、この新しいクラスを View Controller.m にインポートしました。

#import "jhsDateFormatter.h"

そして、この方法でメソッドを呼び出しました:

predicateMutableString = [userVisibleDateTimeStringForRFC3339DateTimeString:dateHolderMutableString :@"yyyy'-'MM'-'dd'"];

predicateMutableString は viewController.h で定義され、.m で合成されます。

ビルド エラーが発生しました: 宣言されていない識別子 'userVisibleDateTimeSTRingForRFC3339DateTimeString の使用

そこで、変更したバージョンをコメントアウトし、クラス ファイルで元のコードとメソッド シグネチャを使用しました。

    - (NSString *)userVisibleDateTimeStringForRFC3339DateTimeString:(NSString *)rfc3339DateTimeString;

そしてそれをこのように呼びました: ここに画像の説明を入力

メソッド呼び出しが受け入れられない理由がわかりません。データ型を一致させたと思います。

何がおかしいのか、あなたの考えを教えてください。

ありがとう

4

1 に答える 1

0

おそらく、次のようにメソッドを宣言する必要があります。

+ (NSMutableString *)userVisibleDateTimeStringForRFC3339DateTimeString:(NSMutableString *)rfc3339DateTimeString formatString:(NSString *)rfc3339DateTimeFormatString;

(先頭の + と、2 番目の引数に名前が付けられていることに注意してください。コードでは空白でした。これは有効ですが、奇妙です。)

次に、次のように呼び出します。

predicateMutableString = [jhsDateFormatter userVisibleDateTimeStringForRFC3339DateTimeString:dateHolderMutableString formatString:@"yyyy'-'MM'-'dd'"];

jhsDateFormatter は、作成した新しいクラスです。

サンプルコードでは、どのオブジェクトでもメソッドを呼び出していないため、コンパイラが不平を言っています。

于 2012-12-15T16:50:30.397 に答える