我是iOS开发的新手。

我有一堂课叫做宠物

@interface Pet : NSObject
@property(nonatomic, strong) NSString *petName;
@property(nonatomic, strong) NSString *petBreed;
@end

在我的一种方法中,我试图为Pet类型的已声明对象设置值:
Pet *selectedPet;

-(NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell=[tableView cellForRowAtIndexPath:indexPath];
NSString *currentPetTemp,*currentBreedTemp;
currentPetTemp = cell.textLabel.text;
currentBreedTemp = cell.detailTextLabel.text;
selectedPet.petName = currentPetTemp;
selectedPet.petBreed = currentBreedTemp;
NSLog(@"%@ Name1: %@",selectedPet.petName,currentPetTemp);

return indexPath;

}

NSLog为'currentPetTemp'显示正确的值,为selectedPet.petName显示'null'。

任何帮助,将不胜感激。

最佳答案

您尚未初始化...请执行以下操作:

Pet *selectedPet=[[Pet alloc]init];

要么,
 Pet *selectedPet=[Pet new];

编辑:

根据您的注释Initializer element is not a compile time constant当您在任何方法范围之外定义变量时,将显示此警告。该位置仅用于常量值。

您需要在viewDidLoad / init / awakeFromNib中进行alloc-init。

08-26 03:31