0

私はObjective-Cにかなり慣れていないので、問題が発生しています。

あるビューコントローラーから別のビューコントローラーに情報を渡す必要があります。私はいくつかの方法を試しましたが、ビルドエラーが発生するか、十分に意味がありません。

これが私がこれまでに持っているものです。

2番目のビューコントローラのhファイル:

@property (nonatomic) NSString *OwnerID;

データはこのプロパティに入る必要があります。

最初のビューコントローラのmファイル:

MoreByUserViewController *moreimg =[[MoreByUserViewController alloc] init];
moreimg.OwnerID = ImageOener;

これは正しくないと思いますが、他に何を書くべきかわかりません。

私が得るclangエラー:

duplicate symbol _m_PageCounter in:
/Users/ianspence/Library/Developer/Xcode/DerivedData/Pickr-dohtanjxfozprjbuwlphjbhvxttm/Build/Intermediates/Pickr.build/Debug-iphonesimulator/Pickr.build/Objects-normal/i386/PKRViewController.o
/Users/ianspence/Library/Developer/Xcode/DerivedData/Pickr-dohtanjxfozprjbuwlphjbhvxttm/Build/Intermediates/Pickr.build/Debug-iphonesimulator/Pickr.build/Objects-normal/i386/MoreByUserViewController.o
ld: 1 duplicate symbol for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
4

3 に答える 3

1

循環参照ですか?ヘッダーファイルを確認してください。

于 2012-07-13T05:08:26.677 に答える
0

あなたの問題は別のものです、今あなたは_m_PageCounterのエラーを受け取っています。2回、m_PageCounterを配置するか、2つの異なるヘッダーで同じ変数を使用したと思います。

.hファイルで@classMoreByUserViewControllerを宣言するだけです。MoreByUserViewControllerのヘッダーファイルを.mfieに追加します。

    @interface MoreByUserViewController : UIViewController
    {
        NSString *mOwnerID;
    }
    @property(nonatomic, retain) NSString *OwnerID;
   -(id)initWithID:(NSString*)inId;
    @end

    @implementation MoreByUserViewController

    @synthesize OwnerID = mOwnerID; 

    -(id)initWithID:(NSString*)inId
   {
      if(self = [super init])   
      {
          self.OwnerID = inId;
      }
      return self;
   }

    @end

//コード内のどこか

MoreByUserViewController *moreimg =[[MoreByUserViewController alloc] initWithID:@"AnyIdOnUrWish"];
于 2012-07-13T05:13:35.877 に答える
0

duplicate symbol _m_PageCounterm_PageCounter2つの場所で定義された名前付きの定数または変数または関数があることを意味します。具体的には、PKRViewController.mおよびMoreByUserViewController.mで。

あなたのオプション:

  1. それらの1つを削除します。
  2. それらの1つに名前を変更します。
  3. それらの1つを宣言しstaticて、そのソースファイルの外部に表示されないようにします。
于 2012-07-13T05:14:01.153 に答える