非常簡單的問題:如何獲得的NSArray的第一串
我有一個數組,像這樣:
@[@"John Doe", @"Mister Appleseed", @"Steve"];
如果它有兩個(或更多)的話,我想將它們全部刪除,但首先,輸出陣列應該像這樣欺騙:
@[@"John", @"Mister", @"Steve"];
我該怎麼做?
非常簡單的問題:如何獲得的NSArray的第一串
我有一個數組,像這樣:
@[@"John Doe", @"Mister Appleseed", @"Steve"];
如果它有兩個(或更多)的話,我想將它們全部刪除,但首先,輸出陣列應該像這樣欺騙:
@[@"John", @"Mister", @"Steve"];
我該怎麼做?
您迭代名稱的陣列上,在空間(" "
)劃分的每個,然後抓住第一對象:第一名稱。
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
)正在使用不能發生變異的數組。
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;
檢查下面的代碼:
NSMutableArray *finalArray = [[NSMutableArray alloc] init];
NSArray *sourceArray = @[@"John Doe", @"Mister Appleseed", @"Steve"];
for(NSString *str in sourceArray){
[finalArray addObject:[str componentsSepratedByString:@" "] objectAtIndex:0]];
}