1

私はObjectiveCでデビューし、iOS用の簡単なパスワードジェネレーターを実行しようとしています。このコードスニペットでは、文字と数字を使用してランダムな文字列を作成しようとしています。次に、この文字列をNSLog(それが機能するかどうかを確認するために)で表示しようとします

プログラムを実行すると、iveはこのエラーを受け取りました:

ここに画像の説明を入力してください

私は2つのファイルを作成しました、私のものがありますviewcontroller.m

ここに画像の説明を入力してください

そして私のviewcontroller.h

ここに画像の説明を入力してください

手伝って頂けますか?

4

3 に答える 3

4

どういうわけか、あなたのプロジェクトには何かが強大です。

  • start基本的には、プログラムへのエントリポイントです。これはdyld初期化の一部であり、にジャンプしmain()ます。(シンボリックブレークポイントをに設定してからアプリを実行してみてください。これは、どこにあるかを把握し、末尾呼び出しをstart行う小さなルーチンです。そのため、何かがひどく、乱暴に、間違っていない限り、バックトレースに表示されることはありません) 。dyldmain

  • arc4randomC標準ライブラリの一部です。常に利用可能である必要があります。

私が見る唯一の手がかりは、リンクラインがを使用しているということ-nostdlibです。それは奇妙に思えます。ビルド設定に移動し、[標準ライブラリとのリンク]がオンになっていることを確認します。そうでない場合、何が起こったのか、そして他に何が変わったのでしょうか?

コードには他にも多くの問題があることに注意してください。

ヘッダーファイル内のこれらの非ivar宣言は、問題を引き起こします。そのファイルを別のコンパイルユニット(別の.mファイル)に初めて#importすると、それらは重複するシンボルになります。

これ@interface UIViewController()は必要ありません(システムクラスでメソッドを宣言する必要もありません)。

于 2013-03-26T15:14:24.760 に答える
-1

こんにちは次の手順を実行してください1)XCodeを再起動します。2)クォーツコードフレームワークを追加したかどうかを確認してください。3)クリーンアップしてビルドします。

.mファイルの-(NSString *)generer:(int)lenのステートメントの後のセミコロン(;)を削除してください。

以前のアプリでも同じ問題が発生しました。これがお役に立てば幸いです。

于 2013-03-26T14:35:20.187 に答える
-2

プログラムarc4random()でc ++コードを使用しましたが、これはarchitechture i386の未定義のシンボルですが、このエラーを理解していません。

これを修正するには#include <stdlib.h>、ヘッダーにを追加するだけです。これは機能するはずです。

于 2013-03-26T11:38:10.620 に答える