Я сделал очень простой объект NSObject:
GameSetUpData.h
@interface GameSetUpData : NSObject
@property (readwrite, nonatomic) NSUInteger numberOfPlayers;
@property (strong, nonatomic) NSMutableArray *playerNames;
@property (strong, nonatomic) NSString *gameType;
@property (readwrite, nonatomic) NSUInteger numberOfMinutes;
@property (readwrite, nonatomic) NSUInteger numberOfTurns;
@property (readwrite, nonatomic) CGSize boardSize;
@end
GameSetUpData.m
#import "GameSetUpData.h"
@implementation GameSetUpData
@synthesize numberOfPlayers = _numberOfPlayers;
@synthesize playerNames = _playerNames;
@synthesize gameType = _gameType;
@synthesize numberOfMinutes = _numberOfMinutes;
@synthesize numberOfTurns = _numberOfTurns;
@synthesize boardSize = _boardSize;
@end
Этот класс в основном просто содержит данные. Затем я пытаюсь использовать этот объект в моем viewcontroller:
MainMenu.h
#import <UIKit/UIKit.h>
@class GameSetUpData;
@interface MainMenu : UIViewController
@property (strong, nonatomic) GameSetUpData *gameSetUp;
-(IBAction)tappedNewGame:(id)sender;
-(IBAction)tappedTwoPlayers:(id)sender;
...
MainMenu.m
#import "MainMenu.h"
#import "MJViewController.h"
#import "GameSetUpData.h"
@implementation MainMenu
@synthesize gameSetUp = _gameSetUp;
...
-(IBAction)tappedTwoPlayers:(id)sender {
_gameSetUp.numberOfPlayers = 2;
NSLog(@"number of Players: %d", _gameSetUp.numberOfPlayers);
}
К сожалению, мой NSLog говорит, что numberOfPlayers равно 0. Что не так с моим GameSetUpData? Мне сказали, что в iOS5 нам не нужно вызывать alloc / init или создавать метод dealloc. Нужен ли мне метод -(void)init
в GameSetUpData? Спасибо всем за потраченное время!
Редактировать: Пожалуйста, распределите / инициализируйте ваши объекты - ARC ТОЛЬКО имеет дело с выпуском / сохранением / автоматическим выпуском. Вам все еще нужно сделать экземпляр объекта! Я прошу прощения за неверную информацию. Я обязательно проверю RTFM в следующий раз ...