Сравнение строки в NSMutableArray с NSString
Я очень плохо знаком с целью-c, и этот вопрос может показаться очень простым, поэтому мне жаль, если это так. Я думаю, что знаю, как заставить пользователя вводить строку в C и сравнивать ее со строкой в массиве с помощью strcmp. Например (не уверен, что код правильный, так как я тоже не очень хорош в c)
char *arr[2];
arr[0] = "hello";
arr[1] = "goodbye";
char myString[10];
printf("enter greeting\n");
scanf("%s",myString);
if(strcmp(myString,arr[0]) == 0 )
{
printf("hello to you to");
}
if(strcmp(myString,arr[1]) == 0 )
{
printf("goodbye then");
}
Но я пытаюсь сделать то же самое с NSMutableArrays и NSStrings. Пока это идет:
NSMutableArray *myStringArray = [[NSMutableArray alloc] init];
[myStringArray addObject:@"hello"];
[myStringArray addObject:@"goodbye"];
char greetingStr[40];
printf("enter greeting\n");
scanf("%s", greetingStr);
NSString *greeting = [NSString stringWithUTF8String:greetingStr];
//Some method to compare the strings
Мне было интересно, что код сравнения NSString с объектами в NSMutableArrays. Извините, если это было плохо объяснено, но я очень новичок в программировании, и, пожалуйста, оставляйте любые ответы достаточно простыми, так как я все еще очень новичок в этом. Заранее спасибо.
2 ответа
"Некоторый метод для сравнения строк":
isEqualToString:
, если вас интересует только равенство строк;
compare:
, если вы также хотите получить информацию об их лексикографическом порядке.
В Objective-C вы ссылаетесь на объекты в NSArray
с и NSMutableArray
с помощью objectAtIndex:
метод.
Вы бы использовали
if ([[myStringArray objectAtIndex:0] isEqualToString:greeting]) {
//your code here
}
if ([[myStringArray objectAtIndex:1] isEqualToString:greeting]) {
//your code here
}
или что-то подобное.