iPhone cocoa "error:request for member ____ in something not a structure or union"

标签 iphone objective-c cocoa cocoa-touch uiviewcontroller

这种方式有效:

type1ViewController *viewController = [[type1ViewController alloc] initWithNibName:@"Type1View" bundle:nil];
viewController.parentViewController = self;
self.type1ViewController = viewController;
[self.view insertSubview:viewController.view atIndex:0];
[viewController release];

但是这种方式给了我错误,“请求非结构或联合中的成员parentViewController”:

type1ViewController *viewController = [[type1ViewController alloc] initWithNibName:@"Type1View" bundle:nil];
self.type1ViewController = viewController;
self.type1ViewController.parentViewController = self;
[self.view insertSubview:viewController.view atIndex:0];
[viewController release];

我不明白为什么它应该有所不同。编译器看到什么是它不喜欢的? 感谢您提前的帮助

最佳答案

当您调用 self.type1ViewController.parentViewController 而不是 viewController.parentViewController 时,它会给您一个错误,因为您已经声明了 self.type1ViewController作为一些父类(super class),而不是 type1ViewController。当编译器查看此声明时,它不会找到 ParentViewController 属性,因此会给出错误。

在第一个示例中,您的 viewController 仍被声明为 type1ViewController,因此它工作正常。如果您将其转换为 type1ViewController,它实际上仍然可以在第二个示例中工作,但当然最好只更改声明。

关于iPhone cocoa "error:request for member ____ in something not a structure or union",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/902710/

相关文章:

iphone - 使用 CGAffineTransform 对图像进行动画处理并在指定点获取 CGPoint?

objective-c - iOS Mediaplayer 和 URL 重定向

objective-c - 获取 EXC_BAD_ACCESS,不知道如何修复它

iphone - UITableViewCell 问题中的自定义 UIView

iphone - 如何对 iPhone 应用程序商店的评论提出异议?

iphone - 如何理解设备上的崩溃日志

java - iPhone 客户端与 Java 服务器对话

objective-c - 如何在 Xcode 4.3 下用 Objective C 制作一个 9*9 的 GridView ?

cocoa - 如何从线程使用 NSTextView 作为日志控制台?

macos - 在 Mac 应用程序中的工具栏下方显示格式栏