Там есть одна или две недостающие части.Из того, что я вижу, вам нужно поместить
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
вверху файла, в котором находится код, прежде чем он запустится, а затем объявить в классе пару переменных экземпляра:
@interface myClass
{
MyCustomCategoryClass *currentCategory; // pointer to the currently checked item
NSArray *taskCategories; // pointer to an array of your list items
... // other instance variables here
}
... // other @property declarations here or in your .m file
@property (assign) MyCustomCategoryClass *currentCategory;
@property (retain) NSArray *taskCategories;
MyCustomCategoryClass
может быть любым классом, который вам нравится, но это то, что выбирает ваш пользователь.это может быть просто NSString
, если хотите.Я говорю assign
для currentCategory
, потому что на самом деле это не указатель с владельцем элемента, ссылка на владельца должна быть в массиве (который retain
ed).Вы также можете сделать taskCategories
@property(nonatomic, retain)
, но я бы, вероятно, оставил currentCategory
как atomic
(по умолчанию) на случай, если он находится в середине изменения, когда вы хотите прочитать то, что выбрал пользователь.
О, и не забудьте заполнить свои taskCategories
элементами, прежде чем пользователь сможет выбирать из списка.