我到处都找过谁经历了这个问题,但还没有找到任何有关的人的地方,所以我认为我会问我自己...发行增加的NSMutableArray
我有一个自定义对象(HitterData),我将用它来填充UITableView中的单元格,然后是两个ViewControllers(一个是hitterTableViewController,另一个是标记为“AddPlayerViewController”的“细节”视图控制器)。
问题是,我可以将HitterData对象添加到我的表VC中的NSMutableArray,但只有一个,然后当我使用详细视图控制器添加另一个时,Mutable数组是“重新初始化”,我只能再次一次只能有一个对象。
HitterObject:
@implementation HitterData.m
@synthesize hitterName = _hitterName;
@synthesize position = _position;
-(id)initWIthNameAndPosition:(NSString *)hitterName position:(NSString *)position {
if ((self = [super init])) {
self.hitterName = _hitterName;
self.position = _position;
}
return self;
}
HitterTableViewController.h
#import "HitterData.h"
#import "HitterDoc.h"
#import "AddPlayerViewController.h"
@interface HitterTableViewController : UITableViewController
@property (nonatomic, strong) NSMutableArray *hitters;
- (IBAction)backButton:(id)sender;
- (IBAction)addPlayerView:(id)sender;
-(void)addHitterObject:(HitterData *)hitter;
HitterTableViewController.m(仅适用于使这个更具可读性)
@implementation HitterTableViewController
@synthesize hitters = _hitters;
- (void)viewDidLoad {
[super viewDidLoad];
self.hitters = [NSMutableArray array];
}
-(void)addHitterObject:(HitterData *)hitter {
if(_hitters != nil) {
[_hitters addObject:hitter];
} else {
_hitters = [NSMutableArray array];
[_hitters addObject:hitter];
NSLog(@"MutableArray is not valid");
}
}
AddPlayerViewController.h
@interface AddPlayerViewController : UIViewController <UITextFieldDelegate, UINavigationControllerDelegate>
@property (weak, nonatomic) IBOutlet UITextField *nameTextField;
@property (weak, nonatomic) IBOutlet UITextField *positionTextField;
@property (nonatomic) HitterTableViewController *hitterTable;
@property (nonatomic) NSString *hitterName;
@property (nonatomic) NSString *position;
//-(void)addNewHitterToHittersArray:(HitterData *)hitter;
- (IBAction)addPlayerToRoster:(id)sender;
AddPlayerViewController.m
@implementation AddPlayerViewController
@synthesize hitterTable;
- (void)viewDidLoad {
[super viewDidLoad];
hitterTable = [[HitterTableViewController alloc] init];
}
- (IBAction)addPlayerToRoster:(id)sender {
self.hitterName = [self.nameTextField text];
self.position = [self.positionTextField text];
HitterData *hitter = [[HitterData alloc] init];
hitter.hitterName = self.hitterName;
hitter.position = self.position;
[hitterTable addHitterObject:hitter];
ArraySingleton *arrayS = [[ArraySingleton alloc] init];
[arrayS initializeArray];
[arrayS addToHittersArray:hitter];
if (arrayS) {
NSLog(@"arrayS exists in AddPlayerVC");
} else {
NSLog(@"arrayS does not exist");
}
[self performSegueWithIdentifier:@"backToTeamTableViewController" sender:self];
}
我在这里失去了一些东西?
请显示来自tableviewcontroller赛格瑞的代码detailviewcontroller – 3stud1ant3
- (IBAction为)addPlayerView:(ID)发送方{ [自performSegueWithIdentifier:@ “addPlayerSegue” 发件人:自]; } – shalom2you
我用了一个storyboard segue,标识符为“addPlayerSegue” – shalom2you