2013-02-17 93 views
-4

当我调用函数时,我的应用程序有生成字段。
它显示Mach-O链接器错误。
我在哪里犯了什么错误?无法从函数调用参数

-(void)viewDidAppear:(BOOL)animated 
{ 
    ScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 44, self.view.frame.size.width, self.view.frame.size.height-88)]; 
    ScrollView.pagingEnabled = YES; 

    ScrollView.contentSize = CGSizeMake(self.view.frame.size.width*13, self.view.frame.size.height-88); 
    [self.view addSubview:ScrollView]; 

    arrImages = [NSArray arrayWithObjects:@"image-001", @"image-002", nil]; 

    LoadImage:(1); 
} 

-(void)LoadImage:(int *)index; 
{ 
    ImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height-88)]; 

    [ImageView setImage:[arrImages objectAtIndex:index]]; 
    [ScrollView addSubview:ImageView]; 
} 

回答

2

行:

LoadImage:(1); 

应该是:

[self LoadImage:1]; 

此外,您LoadImage:方法应采取型int,而不是int *的参数。

这些都是一些非常基本的错误。我可以建议你花一些时间来学习Objective-C的基础知识。

+0

感谢您的意见。我刚开始学习iOS,我知道我需要了解更多。谢谢你的帮助。 – 2013-02-17 18:37:01

0
LoadImage:(1); // <--- error 

[self LoadImage:1]; // <--- like that 

编辑: 作为@Till指出,也改变你的声明采取一个int:

在头(.h):

-(void)LoadImage:(int)index; 

在实现(。 m):

-(void)LoadImage:(int)index { //<--- lose that semi-colon 
... 
} 

全部这些修复起坐应该做的伎俩

+0

再次检查 - LoadImage需要一个指向int的指针! – Till 2013-02-17 18:30:58

+2

此外,在您的viewDidAppear方法中调用[super viewDidAppear:animated];强烈建议您使用小写字母开始所有方法。所以重命名为“loadImage”。 – Dave 2013-02-17 18:31:42

+0

@Till - 啊,那也是如此,虽然他把它当作int使用。 – Dave 2013-02-17 18:33:05