2015-03-22 1 views
-1

Я пытаюсь создать класс с свойствами, определенными в заголовке. Планировал заполнять объект в цикле for. Вот заголовок, что я могу делать неправильно? Я определяю этот класс неправильно?Почему экземпляру моего объекта не хватает свойств, которые я хочу назначить?

#import <UIKit/UIKit.h> 
#import <CoreLocation/CoreLocation.h> 

@interface ViewController : UIViewController<UIPickerViewDataSource, 
... 
@end 

@interface PickerObject : NSObject 
{ 
    NSString *minutes; 
    NSNumber *label; 
} 
@end 

В представленииDidLoad я получаю сообщение о том, что свойства минут не найдены.

NSMutableArray *arr = [[NSMutableArray alloc] init]; 
for(int x = 0; x < total; x++) 
{ 
    PickerObject *myObject = [[PickerObject alloc] init]; 
    myObject.minutes = x; 
    myObject.label = @"%@ minutes",x; 

    [_pickerData addObject:myObject]; 

    //[_pickerData addObject:[NSNumber numberWithInt:x]]; 
    [arr addObject:[NSNumber numberWithInt:x]]; 
} 

Вот скриншот с изображением собственности ошибок не найдено

enter image description here

+1

Это потому, что у вас нет свойства минут. У вас есть переменная экземпляра минут. – rdelmar

ответ

2

Чтобы получить доступ к переменным объекта, используя точку «» оператора в Objective-C, вам нужен метод setter. Самый простой способ добиться этого путем определения свойства вместо, например:

@interface PickerObject : NSObject 
{ 

} 
@property (nonatomic, strong) NSString *minutes; 
@property (nonatomic, strong) NSNumber *label; 

@end 

Объектные переменные, setter- и геттерные методы, которые вы должны быть синтезированы автоматически.