我希望这是一个简单的问题,因为我对可可很新。我创建了一个以UIImageView作为属性的对象。我在另一个程序中设置了属性,例如
Bleep* bleep = [[Bleep alloc]init];
bleep.heading = heading;
bleep.distance = distance;
bleep.instanceId = instanceId;
...
bleep.imgView = [[UIImageView alloc] initWithFrame:CGRectMake(x, y, bleepImg.size.width, bleepImg.size.height)];
不会抛出任何错误,但imgView
为零(0x0)。什么行为会导致这种情况?我正在创建哔哔声对象,设置值类型就好了,但是这个对象似乎不想保留任何东西。
我的课程:
@interface Bleep : NSObject {
}
@property float x;
@property float y;
@property float distance;
@property int instanceId;
@property UIImageView* imgView;
@property float heading;
@end
@implementation Bleep
@synthesize x;
@synthesize y;
@synthesize distance;
@synthesize instanceId;
@synthesize heading;
@synthesize imgView;
@end
答案 0 :(得分:0)
你这里没有显示足够的代码,但我的猜测是你没有正确地处理这个属性。你有没有声明它,例如:
@property (nonatomic, retain) UIImageView *imgView;
然后你是合成它还是制作/获取自己?如果你做了后者,你可能犯了错误,在你的二传手中通过自我引用它。
如果不是其中之一,请显示更多代码。
...
以下是您的代码应该是什么样的:
@interface Bleep : NSObject {
UIImageView *imgview;
}
@property(nonatomic, retain) UIImageView* imgView;
@implementation Bleep
@synthesize imgView;
@end
类中的指针通过属性公开。这似乎有点重复,但在Xcode 4中,多次输入这些东西的痛苦已经消失了。