2014-07-10 122 views
-1

非常簡單的問題:如何獲得的NSArray的第一串

我有一個數組,像這樣:

@[@"John Doe", @"Mister Appleseed", @"Steve"]; 

如果它有兩個(或更多)的話,我想將它們全部刪除,但首先,輸出陣列應該像這樣欺騙:

@[@"John", @"Mister", @"Steve"]; 

我該怎麼做?

回答

1

您迭代名稱的陣列上,在空間(" ")劃分的每個,然後抓住第一對象:第一名稱。

NSArray *nameArray = @[@"Name", @"Name Two"]; // original array 
NSMutable *modifiedNameArray = [NSMutableArray new]; // new mutable array to add new names 
for (NSString *fullName in nameArray) { // for loop 
    NSString *firstName = [[fullName componentsSeparatedByString:@" "] objectAtIndex:0]; // extract first name 

    [modifiedNameArray addObject:firstName]; // add first name to mutable array 
} 

你必須有兩個數組,因爲雖然它是在一個循環中(即使它是一個NSMutableArray)正在使用不能發生變異的數組。

0
NSArray * arr = @[@"John Doe", @"Mister Appleseed", @"Steve"]; 

NSMutableArray * tmp = [NSMutableArray array]; 

for (NSString * s in arr) 
{ 
    NSArray * cmpnts = [s componentsSeparatedByString:@" "]; 
    [tmp addObject:cmpnts[0]]; 
} 

arr = tmp; 
0

檢查下面的代碼:

NSMutableArray *finalArray = [[NSMutableArray alloc] init]; 
    NSArray *sourceArray = @[@"John Doe", @"Mister Appleseed", @"Steve"]; 

    for(NSString *str in sourceArray){ 
      [finalArray addObject:[str componentsSepratedByString:@" "] objectAtIndex:0]]; 
    }