【问题标题】:UIView get error: Expected unqualified-id before '=' tokenUIView 得到错误:'=' 标记之前的预期不合格 ID
【发布时间】:2013-04-30 12:27:20
【问题描述】:

我在界面中声明了一个 UIView:

@property(nonatomic, retain) UIView *textView;

然后在实现中综合起来

@synthesize textView;

然后在其中一个函数中调用 UIView:

textView = [[UIView alloc] initWithFrame:CGRectMake(0.f, 0.f, 1024.f, 768.f)];

在模拟器上没问题,但是换到 iPad 后出现这个错误:

Expected unqualified-id before '=' token

我做错了哪一部分?

但如果我改为:

UIView * textView = [[UIView alloc] initWithFrame:CGRectMake(0.f, 0.f, 1024.f, 768.f)];

它将在 iPad 上运行。但我需要从 VC 访问 textView。那么解决这个问题的最佳方法是什么?谢谢!

【问题讨论】:

    标签: ios objective-c ipad uiview uiviewcontroller


    【解决方案1】:

    我之前没有看到这个错误。所以猜测。

    尝试:

    self.textView = [[UIView alloc] initWithFrame:CGRectMake(0.f, 0.f, 1024.f, 768.f)];
    

    您在界面中声明了 UIView 的属性,因此最好通过 getter 和 setter 访问它,例如:

    self.textView_textView(如果未合成)

    【讨论】:

    • 只需添加 UIView *textView;到接口。无需制造财产。
    • 哇!有用。但我不太明白。介意解释吗?感谢 Midhun MP。
    • @user2310763:在 iOS 6 中,开发者不会在接口中声明变量。他们只是根据范围(在 .h 或 .m 中)声明属性
    • user2310763:我拿走了@property,它给了我编译错误。
    • @sooon:如果你没有将它声明为属性,那么你就不能通过 self.textView 访问它。然后单独使用 textView
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多