UITabBarController,UIViewController和IB崩溃问题

时间:2010-09-30 02:34:43

标签: iphone

我正在编写一个包含标签控制器的iPhone应用程序,每个标签项都有一个独立的视图控制器和一个xib文件。

当我只显示没有从笔尖到我班级的任何插座连接的视图时,它正常工作。 但是当我尝试将xib上的项连接到我的类变量时。应用程序总是崩溃。

代码如下:

@interface TabX : UIViewController {
 IBOutlet UILabel *label;
}

@property (nonatomic, retain) UILabel *label;

@end


@implementation PromotionNews

@synthesize label;

...

@end

当我在IB中建立连接以将Label对象连接到我的文件owener的标签插座时发生崩溃。文件所有者设置为TabX类。

部分追踪是:

2010-09-30 10:23:59.503 MyNearByInfoApp[2613:207] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIViewController 0x6d28530> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key label.'
*** Call stack at first throw:
(
 0   CoreFoundation                      0x02664b99 __exceptionPreprocess + 185
 1   libobjc.A.dylib                     0x027b440e objc_exception_throw + 47
 2   CoreFoundation                      0x02664ad1 -[NSException raise] + 17
 3   Foundation                          0x000330f3 _NSSetUsingKeyValueSetter + 135
 4   Foundation                          0x00033061 -[NSObject(NSKeyValueCoding) setValue:forKey:] + 285
 5   UIKit                               0x004b170a -[UIRuntimeOutletConnection connect] + 112
 6   CoreFoundation                      0x025dad0f -[NSArray makeObjectsPerformSelector:] + 239
 7   UIKit                               0x004b0121 -[UINib instantiateWithOwner:options:] + 1041
 8   UIKit                               0x004b1eb5 -[NSBundle(UINSBundleAdditions) loadNibNamed:owner:options:] + 168

知道发生了什么事吗?

1 个答案:

答案 0 :(得分:0)

我刚刚和另一个人解决了这个错误。问题是您引用的视图与您的代码不匹配。出于同样的原因。因为你有一个标签栏应用程序我假设你也有委托等等。 你要做的就是点击视图上的TAB BAR本身,然后将类标识名称命名为你在xcode中使用的类名。

因此,删除文件所有者类标识并保持正常。它应该是UIApplication我相信如果您使用默认的tabBar应用程序。

希望这会有所帮助 如果有,请告诉我。因为它帮助了另一个家伙。 虽然你是第二个有同样问题的人,但这很有趣。这是我第一次一个接一个地解决同样的问题。洛尔

PK