Я запутался и, возможно, пропустил что-то простое, но я не могу его найти.Замена происхождений строк в NSMutableArray работает только один раз
Я сделаю эту проблему теоретической, потому что я сделал тест и до сих пор не могу заставить его работать с урезанным кодом. Я использую SpriteBuilder, но это не должно быть тем, что вызывает проблему. Я могу зарегистрировать значение, которое я получаю в текстовом вводе, но просто не могу получить это значение в массиве во второй раз - но достаточно разглагольствовать, время для некоторых код.
main.h
#import "Content.h"
#import "ReplaceMe.h"
@property Content *contentInstance;
@property ReplaceMe *replaceMeInstance;
main.m
-(void)someFunction{
_contentInstance = (Content*)[CCBReader load:@"ContentScene"];
[_contentInstance.changeArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
if ([_contentInstance.base[idx] containsString:@"one"]){
NSLog(@"I contain one!");
NSString *replace = [_content.testArray[idx] stringByReplacingOccurrencesOfString:@"one" withString:changeTheText.string];
[_content.testArray replaceObjectAtIndex:idx withObject:replace];
NSLog(@"%@",_content.testArray[idx]);
}
}];
[_contentInstance updateLabels];
}
Content.h
@property NSArray *base;
@property NSArray *changeArray;
Content.m
-(void)someFunction{
_base = @[@"This is one",@"This is two",@"This is two point one"];
_changeArray = [base mutableCopy];
}
-(void)updateLabels{
[_changeArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
_labeler = [CCLabelTTF labelWithString:[NSString stringWithFormat:@"%@",_changeArray[idx]] fontName:@"Helvetica" fontSize:12.0f];
}
}];
}
ReplaceMe.h
@property CCTextField *changeTheText;
-(void)_changeTheTextSelector;
ReplaceMe.m
-(void)_changeTheTextSelector{
self.visible=NO;
}
Когда я называю MainScene-х someFuction
, это наладочные работы просто денди в первый раз - и только в первый раз. Я не могу получить changeArray
для обновления после того, как я впервые запустил перечисление.
Я знаю, что changeTheText
меняется, поскольку он выходит из системы, но когда я регистрирую changeArray[idx]
, он застрял на первом changeTheText
.
Любые идеи?
Почему вы не попробуете старый знакомый цикл для перечисления и скажите мне результаты? –