(xcode objective-c)数组-在数组中查找对象的中心
当谈到(xcode objective-c)数组-在数组中查找对象的中心,objective-c,uiimageview,nsarray,Objective C,Uiimageview,Nsarray,当谈到Xcode的时候,我是非常愚蠢的 我有一个NSArray和5个UIImageView,我有一个脚本可以随机选择一个UIImageView,但是我需要它来输出所选图像的中心。 我的代码如下所示: NSMutableArray *Invader = [[NSMutableArray alloc] init]; [Invader addObject:H1]; [Invader addObject:H2]; [Invader addObject:H3]; [Invader addObject:H4
Xcode
的时候,我是非常愚蠢的
我有一个NSArray
和5个UIImageView
,我有一个脚本可以随机选择一个UIImageView
,但是我需要它来输出所选图像的中心。
我的代码如下所示:
NSMutableArray *Invader = [[NSMutableArray alloc] init];
[Invader addObject:H1];
[Invader addObject:H2];
[Invader addObject:H3];
[Invader addObject:H4];
[Invader addObject:H5];
然后按此选择将新的UIImageView
移动到的位置:
if (FIRE1 == YES){
NSObject *Inv1 = [Invader randomObject]; //randomObject picks a random Invader
InvaderBullet1.hidden = NO;
InvaderBullet1.center = CGPointMake(Inv1.center.x, Inv1.center.y)
}
它给我的错误是在“NSObject*”类型的对象上找不到属性“center”
我希望这对任何人都有意义,任何人都能帮助我
谢谢NSObject显然没有center属性。虽然您没有将NSObjects添加到阵列中,但您正在添加(我假定)UIImageView。因此,如果要添加UIImages,也可以删除UIImages
if (FIRE1 == YES){
NSObject *Inv1 = [Invader randomObject];
if ([Inv1 isKindOfClass:[UIImageView Class]]) //randomObject picks a random Invader
((UIImageView*)InvaderBullet1).hidden = NO;
((UIImageView*)InvaderBullet1).center = CGPointMake(Inv1.center.x, Inv1.center.y)
}
您只需为变量指定正确的类型:
if (FIRE1 == YES){
UIImageView *Inv1 = [Invader randomObject]; //randomObject picks a random Invader
InvaderBullet1.hidden = NO;
InvaderBullet1.center = CGPointMake(Inv1.center.x, Inv1.center.y)
}
这是假设您的randomObject
方法(看起来像NSArray
上的category方法)的返回类型为id
。如果其返回类型为NSObject*
,则需要执行强制转换:
UIImageView *Inv1 = (UIImageView *)[Invader randomObject]; //randomObject picks a random Invader
(次要说明:我建议坚持既定的命名约定。在这种情况下:变量通常以小写字符开头。你正在帮助其他需要/希望使用你的代码的人。)没有“Xcode数组”这样的东西。Xcode是一个IDE…@septi:他可能在标题中添加了(Xcode)来表示这是一个与Xcode相关的问题(尽管这是标记的用途),它与数组没有任何关系。这个问题与Xcode根本没有关系。如果你愿意,你可以在vim中编写iOS或OS X应用程序。我是xcode的noob,这对我没有帮助,但我需要这段代码,以便能够从数组中选择一个随机对象,并将其中心输出到入侵者Bullet1显示入侵者的代码。我正在将UIImageView添加到数组中编辑答案,虽然我不喜欢你没有努力尝试和定制我的代码。我一直在我的xcode中对其进行调整,并使其正常工作,谢谢你的帮助^^@LordZsolt这不是工作的方式,你没有给出他们需要调整和自定义的部分答案,你应该对他们提出的问题给出完整的答案,否则你给出答案就没有意义了。@Popeye我不得不说这是一个UIImageView而不是UIImage,然后在我的xcode中对它进行了评论和调整。