给UIImage变量一个Array元素不起作用

时间:2014-07-22 11:19:25

标签: ios objective-c uiimage nsarray

我得到了这段代码,在给它一个数组元素时,我似乎无法使self.pickedImage工作(在例子中我试图给它第一个)。如果我只是说:

,它的工作正常
self.PickedImage = [UIImage imageNamed:@"icn_personal"];

问题出在

[self.arrayPersonal objectAtIndex:0]

[self.arrayWork objectAtIndex:0];

我做错了什么?任何帮助深表感谢。谢谢!

self.arrayPersonal = [NSArray arrayWithObjects: [UIImage imageNamed:@"icn_personal"],[UIImage imageNamed:@"icn_personal1"], nil];
    self.arrayWork = [NSArray arrayWithObjects: [UIImage imageNamed:@"icn_work"], [UIImage imageNamed:@"icn_work1"], nil];
if(self.chosenCategory == 1) self.pickedImage = [self.arrayPersonal objectAtIndex:0];
if(self.chosenCategory == 2) self.pickedImage = [self.arrayWork objectAtIndex:0];

2 个答案:

答案 0 :(得分:0)

为什么要将uiimage对象添加到数组中! 试试这个

self.arrayPersonal = [NSArray arrayWithObjects:@"icn_personal",@"icn_personal1", nil];
    self.arrayWork = [NSArray arrayWithObjects:@"icn_work.png",@"icn_work1", nil];
if(self.chosenCategory == 1) self.pickedImage = [self.arrayPersonal objectAtIndex:0];
if(self.chosenCategory == 2) self.pickedImage = [self.arrayWork objectAtIndex:0];

确保你使用的是png,因为你没有提到它

答案 1 :(得分:0)

我认为您在weakarrayPersonal属性中使用arrayWork属性,分配给它们的NSArray将很快发布,并且这两个值将为零。

相反,使用arrayPersonal属性定义arrayWorkstrong属性。

@property (nonatomic, strong) arrayPersonal;
@property (nonatomic, strong) arrayWork;