0

現在、Xcode 4.4 がインストールされた Mountain Lion OS X 10.8 を実行しています。iOS 5.1 シミュレーターを実行しています。Objective-C と Xcode を勉強しながら Buzztouch を学習ツールとして使用しています。コンパイル時に次のアラートが表示されますが、ビルドは成功します。しかし、何が起こっているのか、どうすれば状況を改善できるのかを正確に知りたいです。ご協力いただきありがとうございます。これが私が得ているコードとアラートです:

BT_fileManager.m

  1. フォーマット文字列で使用されていないデータ引数

  2. フォーマット文字列で使用されていないデータ引数 [BT_debugger showIt:self:[NSString stringWithFormat:@"readTextFileFromCacheWithEncoding ERROR using encoding NSUTF8StringEncoding, try NSISOLatin1StringEncoding", @""]];

BT_camera_email.m

  1. 「BT_camera_email *」を互換性のないタイプ「id」のパラメーターに送信するセマンティックの問題

if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) { NSLog(@"is camera ok"); UIActionSheet *photoSourceSheet = [[UIActionSheet alloc] initWithTitle:@"Select Image Source" delegate:self

もう一度、ありがとう。

グレッグ

4

1 に答える 1

1

しかし、Buzztouchが何であるかはわかりません.... :-)

最初の警告はかなり単純です。フォーマット文字列には、データ値を置き換える場所を示す「%」記号で始まるプレースホルダーがあります。たとえば、文字列を置き換えるには、「%@」を使用します。表示する例では、プレースホルダーはありませんがデータ値(空の文字列)があります。コンパイラは、によって作成された新しい文字列に入れたいと指定したものはそうではないことを警告してstringWithFormat:います。

2つ目については、宣言している.hファイルを見たいと思いますが、プロトコルBT_camera_emailを採用していないと推測されます。UIActionSheetDelegateの説明でinitWithTitle:...は、2番目のパラメータはあるべきでid<UIActionSheetDelegate>あり、それがおそらく不満を言っていることです。

于 2012-08-07T17:54:28.933 に答える