我是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。