내가 만든 3 개의 클래스 인스턴스로 NSMutableArray를 채 웠습니다. 이제이 배열을 반복하여 변수 값을 얻고 싶습니다. 그렇게 할 수는 있지만 인스턴스 이름 (빵, 물, ...)을 인쇄 할 수 없습니다. 대신 자신의 주소를 얻습니다. 나는 그것을 간단하지만 조금 사투를 벌인거야, 그래서 누군가가 방법을 알고 있다면 ... 당신에게 감사 추측ObjC : NSLog 포인터 이름
#import <Foundation/Foundation.h>
#import "StockHolding.h";
int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
StockHolding *bread = [[StockHolding alloc] init];
[bread setPurchaseSharePrice:100];
[bread setCurrentSharePrice:120];
[bread setNumberOfShares:100];
StockHolding *water = [[StockHolding alloc] init];
[water setPurchaseSharePrice:100];
[water setCurrentSharePrice:80];
[water setNumberOfShares:10];
StockHolding *tomatoes = [[StockHolding alloc] init];
[tomatoes setPurchaseSharePrice:100];
[tomatoes setCurrentSharePrice:50];
[tomatoes setNumberOfShares:1];
NSMutableArray *myStock = [NSMutableArray arrayWithObjects:bread, water, tomatoes, nil];
for (StockHolding *s in myStock)
{
NSLog(@"Here is what I paid for my %p : %f", s, [s costInDollars]);
NSLog(@"Here is what I earn for my %p : %f", s, [s valueInDollars]);
}
[pool drain];
return 0;
}
매크로 당신의 전처리이 #DEFINE을 추가 할 수 있습니다 포인터 이름의 경우. 그것을 문자열로 인쇄하려고합니다. – Girish