2011-04-08 21 views
6

içine dize bölmek nasıl benNSMutableArray

- (NSArray *)componentsSeparatedByString:(NSString *)separator 

kullanılabilir biliyorum NSMutableArray

içine dize bölmek istediğiniz ama bu NSMutableArray için NSArray değil içindir. çatlıyor sonra ben NSArray ile mümkün değildir

-(void)removeObjectAtIndex:(NSUInteger)index 

kullanarak diziden eleman çıkarmak istiyorum, çünkü

ihtiyacım.

Eğer

cevap

28

Ayrıca sadece döndürülen dizinin bir değişken kopyasını alabilirsiniz. Bu nedenle, ARC kodunda kullanıldığında, kopyalanan dizi autorelease olmalıdır ya da işiniz bittiğinde el ile release.

+0

Mükemmel ... bu benim ihtiyacım olan şey, çok teşekkürler – Pooja

+1

Bu yaklaşımda sahip olduğum problem, tecrübesiz bir geliştiricinin elinde bir bellek sızıntısı getirmesidir. Bu, dizileri ele alırken (özellikle öğelerini koruyan) riskli gözükmektedir. Bir "autorelease" ekleyin ve her şey yolunda. – mvds

+0

Bu bilgileri içerecek şekilde düzenlenmiştir. – GendoIkari

9

NSArray *array = [NSString componentsSeparatedByString:@"..."]; 
NSMutableArray *mutable = [NSMutableArray arrayWithArray:array]; 
+0

bu da haklıdır ama diziyi diziye sonra diziye ve 2-3 kez tekrar mükemmel bir Dizi elde edene kadar ... her iki durumda çok teşekkür ederim – Pooja

2

componentsSeparatedByString tarafından oluşturulan çıktı NSArray bir NSMutableArray oluşturma kullanarak yeni NSMutableArray yapın ederiz. alloc gibi yeni bellek ayrılamadı yapar, Ayrıca

NSMutableArray *array = [[myString componentsSeparatedByString:@"..."] mutableCopy]; 

bu kopyayı hatırla:

NSMutableArray *mutableArray = [[NSMutableArray alloc] initWithArray:array]; 
İlgili konular