콘솔의 배열에 대한 정보를 얻으 려하지만 NSLOg에 아무 것도 표시되지 않습니다. 이 클래스는 앱용 데이터를 저장합니다. 여기에 코드가 있습니다. NSLOG가 작동하지 않습니다.
#import <Foundation/Foundation.h>
#import "DAObject.h"
@interface DataModel : NSObject
@property (strong, nonatomic) NSArray *array;
@property (strong, nonatomic) NSArray *array2;
@end
하고 문제가있는하는 .m 파일
#import "DataModel.h"
@implementation DataModel
- (id)initWithCoder:(NSCoder *)decoder {
if (self = [super init]) {
}
return self;
}
- (NSArray *) _array
{
DAObject *obj1 = [[DACityObject alloc] init];
obj1.name = @"Obj1";
DACityObject *obj2 = [[DACityObject alloc] init];
obj2.name = @"Obj2";
_array = @[ obj1, obj2];
for (int i = 0; i < [_array count]; i++)
{
NSLog(@"Item %d = %@", i, [_array objectAtIndex:i]);
}
return _array;
}
- (NSArray *) array2 {
_array2 = [[NSArray alloc] initWithObjects:@"icon1.png", @"icon2.png",@"icon3.png", nil];
for (int i = 0; i < [_array2 count]; i++) {
NSLog(@"Item %d = %@", i, [_array2 objectAtIndex:i]);
}
return _array2;
}
@end
에서
? 나는 그것을 이해할 수 없다.
어디에서'_array' 메서드가 호출됩니까? 왜 '_ 배열'이라고 불리는가? 'array' 속성의 기본 getter 메소드를 오버라이드 (override)하려고 시도하고 있습니까? – trojanfoe
두 개의 NSLog 문이 있습니다. 둘 다 결코 호출되지 않는 메서드 안에 있습니다. 어디에서나 _array 또는 _array2 메서드를 호출하고 있습니까? 또한 메소드는 밑줄이 아닌 문자로 시작해야합니다. – Fogmeister
나는이 방법들을 한 번도 언급하지 않았다. 배열의 내용이 잘못되었는지 확인하고 싶습니다. 그렇게하는 방법? – Newbie