我对Objective-C很新,我遇到了一个问题。
我需要将一些信息从一个viewcontroller传递给另一个。我已经尝试了很多方法,要么出现构建错误,要么没有足够的意义。
这是我到目前为止所拥有的。
在第二个视图控制器h文件中:
@property (nonatomic) NSString *OwnerID;
数据应该进入这个属性。
在第一个视图中控制器m文件:
MoreByUserViewController *moreimg =[[MoreByUserViewController alloc] init];
moreimg.OwnerID = ImageOener;
我认为这不正确,但不知道还有什么要写。
我得到的clang错误:
duplicate symbol _m_PageCounter in:
/Users/ianspence/Library/Developer/Xcode/DerivedData/Pickr-dohtanjxfozprjbuwlphjbhvxttm/Build/Intermediates/Pickr.build/Debug-iphonesimulator/Pickr.build/Objects-normal/i386/PKRViewController.o
/Users/ianspence/Library/Developer/Xcode/DerivedData/Pickr-dohtanjxfozprjbuwlphjbhvxttm/Build/Intermediates/Pickr.build/Debug-iphonesimulator/Pickr.build/Objects-normal/i386/MoreByUserViewController.o
ld: 1 duplicate symbol for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
答案 0 :(得分:1)
是循环参考吗?看看你的头文件。
答案 1 :(得分:0)
您的问题是其他问题,现在您收到了_m_PageCounter的错误。我想两次你把m_PageCounter或在两个不同的标题中使用相同的变量..
.h文件中的 @interface MoreByUserViewController : UIViewController
{
NSString *mOwnerID;
}
@property(nonatomic, retain) NSString *OwnerID;
-(id)initWithID:(NSString*)inId;
@end
@implementation MoreByUserViewController
@synthesize OwnerID = mOwnerID;
-(id)initWithID:(NSString*)inId
{
if(self = [super init])
{
self.OwnerID = inId;
}
return self;
}
@end
//代码中的其他地方
MoreByUserViewController *moreimg =[[MoreByUserViewController alloc] initWithID:@"AnyIdOnUrWish"];
答案 2 :(得分:0)
duplicate symbol _m_PageCounter
表示您在两个位置定义了一个名为m_PageCounter
的常量或变量或函数。具体来说,在PKRViewController.m和MoreByUserViewController.m。
您的选择:
static
,以便它们不会在该源文件之外显示。