0

私はiOSの開発を始めています。私は何日も解決策を探していましたが、それを得ることができません。私は次のコードを取得しました:

@interface SAProfileViewController : UITableViewController {
    @public NSNumber *userId;
}

    @property (weak, nonatomic) IBOutlet UIView *awesomeProfileHeader;

    @property (nonatomic, assign) NSNumber *userId;

@end

あなたが見ることができるように、私は私の財産を宣言しています、そしてその後私はこれをします:

@implementation SAProfileViewController

@synthesize userId = _userId;

...

他のViewControllerで、SAProfileViewControllerをインポートします。

#import "SAProfileViewController.h"
...

-(void)goToUserProfile :(id) sender
{
   UITapGestureRecognizer *gesture = (UITapGestureRecognizer *) sender;

   SAProfileViewController *controller = [[SAProfileViewController alloc] init];

   controller.userId = gesture.view.tag; // << HERE THE ERROR APPEARS

   [self.navigationController pushViewController:controller animated:YES];
}

これが私のコードであり、次のエラーが発生します:「プロパティ'userId'がタイプ'SAProfileViewController*'のオブジェクトに見つかりません

前もって感謝します。

4

1 に答える 1

2

プロパティ タイプを間違えました。

変化する

@property (nonatomic, assign) NSNumber *userId;

@property (nonatomic, retain) NSNumber *userId;

このようなNSNumberインスタンスを作成する必要があるよりもgesture.view.tag

controller.userId = [NSNumber numberWithInteger:gesture.view.tag];

NSIntegerまたは、代わりにuserId を変更できますNSNumber*

@property (nonatomic, assign) NSInteger userId;

( object 属性についてもこれを行う必要がありますuserId)

于 2013-02-09T22:08:59.620 に答える