Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 点击图像,我得到了错误的EXC\u访问_Iphone_Objective C - Fatal编程技术网

Iphone 点击图像,我得到了错误的EXC\u访问

Iphone 点击图像,我得到了错误的EXC\u访问,iphone,objective-c,Iphone,Objective C,伙计们,我以为我找到了解决办法,但没有。。。。我从过去16小时开始制作应用程序,可能是因为我空虚的头脑没有发出任何好的声音。。。请帮帮我 我正在为动态生成的ImageView设置标记,并在其上设置tapgestureReconizers,标记被赋予UITapGestureReconfizer,我想在单击不同的图像时执行不同的操作,但当单击任何图像时,它会非常安静地说…:|EXC\u访问错误。 代码:- #导入 @类AppDelegate\u iPhone、Litofinter、ParsingVi

伙计们,我以为我找到了解决办法,但没有。。。。我从过去16小时开始制作应用程序,可能是因为我空虚的头脑没有发出任何好的声音。。。请帮帮我

我正在为动态生成的ImageView设置标记,并在其上设置tapgestureReconizers,标记被赋予UITapGestureReconfizer,我想在单击不同的图像时执行不同的操作,但当单击任何图像时,它会非常安静地说…:|EXC\u访问错误。 代码:-

#导入
@类AppDelegate\u iPhone、Litofinter、ParsingViewController;
@界面FirstViewController:UIViewController{
NSMutableArray*数组;
NSString*标识字符串;
AppDelegate_iPhone*AppDelegate;
ParsingViewController*obj;
UIScrollView*滚动视图;
NSMUTABLEARRY*idArray;
}
@属性(非原子,保留)UIScrollView*scrollView;
-(void)onTapImage:(UITapgestureRecognitor*)识别器;
@结束
#导入“FirstViewController.h”
#导入“AppDelegate_iPhone.h”
#导入“Litofinter.h”
#导入“ParsingViewController.h”
@FirstViewController的实现
@综合滚动视图;
-(id)init{
if(self==[super init]){
obj=[[ParsingViewController alloc]init];
array=[[NSArray alloc]initWithArray:obj.logomatableArray];
}
回归自我;
}
//实现viewDidLoad以在加载视图(通常从nib)后执行附加设置。
-(无效)viewDidLoad{
[超级视图下载];
int x=20,y=10;
INTA=50,b=105;
appDelegate=(appDelegate_iPhone*)[[UIApplication sharedApplication]delegate];
scrollView=[[UIScrollView alloc]initWithFrame:CGRectMake(0500460)];
scrollView.contentSize=CGSizeMake(320800);
scrollView.showsVerticalScrollIndicator=是;
for(appDelegate.logoArray中的Litofinter*lito){
NSString*urlString=[lito.cLogo stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
NSURL*imageURL=[NSURL URLWithString:urlString];
NSData*imageData=[NSData dataWithContentsOfURL:imageURL];
UIImage*image=[UIImage imageWithData:imageData];
UIImageView*imgView=[[UIImageView alloc]initWithImage:image];
[imgView设置帧:CGRectMake(x,y,140,90)];
imgView.userInteractionEnabled=是;
imgView.multipleTouchEnabled=是;
imgView.backgroundColor=[UIColor blueColor];
//imgView.tag=lito.cId;
//NSLog(@“标记Id=%@”,imgView.Tag);
NSLog(@“标记Id=%@”,lito.cId);
UITapGestureRecognizer*tgr=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(onTapImage:)];
tgr.delegate=self;
[imgView addgestureRecognitor:tgr];
[滚动视图添加子视图:imgView];
tgr.view.tag=(int)[NSString stringWithFormat:@“%@”,lito.cId];
NSLog(@“tagid=%@”,tgr.view.Tag);
//NSLog(@“标记Id=%@”,lito.cId);
UILabel*cName=[[UILabel alloc]initWithFrame:CGRectMake(a,b,130,20)];
cName.text=lito.cName;
[滚动视图添加子视图:cName];
//在这里执行其余操作时,不要忘记释放UIImageView
x=x+150;
a=a+140;
如果(x>300)
{
y=y+140;
x=20;
b=b+150;
a=50;
}
//[tgr释放];
[imgView发布];
}
[self.view addSubview:scrollView];
}
-(void)onTapImage:(UITapgestureRecognitor*)识别器;
{
NSLog(@“抽头图像标记:%@”,recognizer.view.tag);
//NSLog(@“点击图像Id================================%@”,scrollView.gestureRecogeners);
UIAlertView*alert=[[UIAlertView alloc]initWithTitle:@“来自mAc的消息”消息:[NSString stringWithFormat:@“标记Id:%@”,识别器.视图.标记]委托:自取消按钮:@“取消”其他按钮:@“确定”,无];
[警报显示];
}
-(无效)解除锁定{
[super dealoc];
[滚动视图发布];
}
@结束

这可能是因为您试图在
-(void)onTapImage:(UITapgestureRecognitizer*)识别器中以字符串形式记录int
选择器:

NSLog(@"Tapped Image tag: %@", recognizer.view.tag);
而是将
%@
替换为
%i

NSLog(@"Tapped Image tag: %i", recognizer.view.tag);

这可能是因为您试图在
-(void)onTapImage:(uitapgestureRecognitizer*)识别器
选择器中以字符串形式记录int:

NSLog(@"Tapped Image tag: %@", recognizer.view.tag);
而是将
%@
替换为
%i

NSLog(@"Tapped Image tag: %i", recognizer.view.tag);

伙计们,我的应用程序在-(void)onTapImage:(UITapGestureRecognizer*)识别器上获得了EXC_BAD_访问权限;{伙计们,我的应用程序在-(void)onTapImage:(uitagesturerecognizer*)识别器上获得了EXC_BAD_访问权限;{Ohh!!太棒了,但我的ID正在更改2011-10-14 20:31:29.030 ImageTest[5163:207]Tag ID=22 2011-10-14 20:207]Tag:29.031 ImageTest[5163:207]Tag]当前语言:auto;当前目标-c 2011-10-14 20:31:31.862 ImageTest[5163:207]点击图像标签:82283184图像测试[5163:207]标签Id=22图像测试[5163:207]点击图像标签:82283184尝试类似于:
NSLog(@“点击图像标签:%@,[recognizer.view.tag intValue]);
Ohh!!很好,但我的Id正在改变2011-10-14 20:31:29.030图像测试[5163:207]标签Id=22 2011-10-14 20:31:29.031图像测试[5163:207]标记Id=22当前语言:自动;当前objective-c 2011-10-14 20:31:31.862 ImageTest[5163:207]点击图像标记:82283184ImageTest[5163:207]标记Id=22 ImageTest[5163:207]点击图像标记:82283184尝试以下操作:
NSLog(@“点击图像标记:%@,[recognizer.view.Tag intValue]);