Как упомянуть пользователей с "@" в таких приложениях, как Instagram
Я создаю приложение с возможностью обмена фотографиями и пытаюсь добавить в функциональность упоминание (или тегирование) пользователей. Twitter - это то, что первоначально начинало использовать "@" с именем пользователя, чтобы помечать пользователей, но теперь все, от Facebook до Instagram, использует его. Это то, что реализовано на стороне iOS или на заднем плане? В настоящее время я программирую серверную часть в Django, но по какой-то причине я думаю, что это будет сделано на стороне iOS. На удивление очень мало информации о том, как упомянуть пользователей в Django или iOS.
По сути, при создании сообщения я хотел бы создать упоминание пользователя, введя "@", за которым следует имя пользователя (без пробелов), которое будет отображать его имя в сообщении, например: @username, которое будет кликабельным, ведущим вернуться к профилю этого пользователя. Если я не совсем уверен с моим вопросом, пожалуйста, дайте мне знать. Любая помощь, такая как указание мне в правильном направлении, с чего начать что-то вроде этого, будет высоко ценится. Спасибо!:)
2 ответа
Слушайте вход на iOS. Когда пользователь вводит @
, а затем символ, позвоните по URL на вашем сервере (/user/lookup/?username=joe
например), который направляет к представлению, которое ищет пользователей, начинающихся с joe
, Верните его как json и отобразите в выпадающем списке.
Источник: Как упомянуть пользователей с "@" в таких приложениях, как Instagram
Вы можете попробовать что-то вроде этого в делегате UITextView:
- (void)textViewDidChange:(UITextView *)textView
{
_words = [self.textView.text componentsSeparatedByString:@" "];
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"SELF BEGINSWITH[cd] '@'"];
NSArray* names = [_words filteredArrayUsingPredicate:predicate];
if (_oldArray)
{
NSMutableSet* set1 = [NSMutableSet setWithArray:names];
NSMutableSet* set2 = [NSMutableSet setWithArray:_oldArray];
[set1 minusSet:set2];
if (set1.count > 0)
NSLog(@"Results %@", set1);
}
_oldArray = [[NSArray alloc] initWithArray:names];
}
где _words, _searchResults и _oldArray NSArrays
,