iOS 개발을 처음 사용합니다.iOS에서 객체에 값을 설정할 수 없습니다.
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;
}
:
나는 유형 애완 동물의 선언 된 개체에 대한 값을 설정하려고 내 방법 중 하나에서
@interface Pet : NSObject
@property(nonatomic, strong) NSString *petName;
@property(nonatomic, strong) NSString *petBreed;
@end
애완 동물
라는 클래스를 가지고 NSLog는 'currentPetTemp'에 대해 올바른 값을 표시하지만selectedPet.petName
에 대해서는 'null'을 표시합니다.
도움을 주시면 감사하겠습니다.
Pet *selectedPet=[[Pet alloc]init];
또는
Pet *selectedPet=[Pet new];
편집
:이 경고가 표시됩니다로 의견 Initializer element is not a compile time constant
당 당신이 정의 당신은 havenot
고마워하지만 이제는 "Initializer element is compile time constant"오류가 발생합니다. – Abhi
new는 objective-c에서 일반적인 생성자 메서드 이름이 아닙니다. 객체의 빈 인스턴스를 만드는 Class 메소드를 만들려면 NSArray의 예제를 따라 가면서'+ (instancetype) pet' 메소드를 생성해야한다 :'[Pet pet];' – jackslash
I 어떤 디폴트 값이 제공되지 않으면 코딩의 스타일로서'new'을 사용하십시오. –