2013-02-09 19 views
0

我开始在iOS开发中。我一直在寻找解决方案的日子,我无法得到它。我得到了下面的代码:在ViewController上找不到属性

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

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

    @property (nonatomic, assign) NSNumber *userId; 

@end 

正如你可以看到我声明我的财产,在那之后我这样做:

@implementation SAProfileViewController 

@synthesize userId = _userId; 

... 

上的其他视图控制器我导入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]; 
} 

就是这样,这是我的代码,我得到以下错误: “属性‘用户id’事先就输入‘SAProfileViewController *’

感谢的对象没有找到

+1

Uhm。清理项目?另外:一旦你编译它会崩溃。看看'controller.userId'和'gesture.view.tag'的类型。 – 2013-02-09 22:07:21

回答

2

你已经做了错误与属性类型。

变化

@property (nonatomic, assign) NSNumber *userId; 

@property (nonatomic, retain) NSNumber *userId; 

比你要创建的gesture.view.tag一个NSNumber例如像这样

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

,也可将用户id改变NSInteger而不是NSNumber*

@property (nonatomic, assign) NSInteger userId; 

(你有对于对象属性userId也是这样)

+0

我尝试了所有你说的,但我继续得到同样的错误,似乎它是无形的。我搞不清楚了。 – 2013-02-09 22:55:54

+0

你可以说哪个错误发生?这是一个编译错误还是抛出异常? – who9vy 2013-02-10 11:08:37

+0

当我尝试编译它时,我收到了这个:http://d.pr/i/vH8F – 2013-02-10 12:53:09