매우 이상한 문제가 있습니다. 첫 번째 클래스에는 객체를 배열에 추가하는 메서드가 포함 된 NSObject 클래스의 하위 클래스가 있습니다. (주식 보유 *) 주식, 내가 (런타임) 다음과 같은 오류가 발생합니다 : :NSObject에서 속성 및 메서드에 액세스 할 수 없습니다.
Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: '-[NSObject addStockObject:]: unrecognized selector
sent to instance 0x8b48d90'
호출 코드 - (무효) addStockObject 그래서 난 메소드를 호출
#import "portfolio.h"
@implementation portfolio
-(void) addStockObject:(stockHolding *)stock
{
[self.stocks addObject:stock ];
}
+(portfolio *) alloc
{
return [self.superclass alloc];
}
-(portfolio *) init
{
self.stocks=[[NSMutableArray alloc]init];
return self;
}
-(NSString *)getCurrentValue
{
stockHolding *stockInArray;
float currentValue=0.0;
for (NSInteger *i=0; i<[self.stocks count]; i++) {
stockInArray = [self.stocks objectAtIndex:i];
currentValue+=stockInArray.currentValue;
}
return [NSString stringWithFormat:@"Current Value: %f",currentValue];
}
@end
: 아래의 코드를 참조하십시오 다음과 같습니다 :
p=[[portfolio alloc]init];
[p addStockObject:s];
portfolio *p;
아무도 저에게 무엇이 잘못 되었습니까?
다른 클래스에는 속성이 있으며 컴파일하는 동안 액세스 할 수없는 것으로 보입니다. 나는 정말로 혼란 스럽다.
는 미사
이름 지정 규칙을 따르고 대문자로 시작하는 클래스를 시작하십시오. 예를 들어'portfolio' 클래스는'Portfolio' 여야합니다. – NobodyNada