2010-11-27 1 views
0
NSMutableString *mSt1 = [[NSMutableString alloc] stringWithString:asong.at]; 
      NSMutableString *mSt = [[NSMutableString alloc] stringWithString:[mSt1 substringWithRange: NSMakeRange (0, 2)]]; 
      NSMutableString *mSt2 = [[NSMutableString alloc] stringWithString:[mSt1 substringWithRange: NSMakeRange (5, 2)]]; 
      NSMutableString *str = [mSt appendString:mSt2]; 
      [songsHrs addObject:str]; 
      [mSt release]; 
      [mSt1 release]; 
      [mSt2 release]; 

получает ошибку при ошибке No.4 линии: аннулируется значение не игнорируются, как это должно бытькосяка мы присоединяем nsmutable строки в другую NSMutableString

помочь мне, пожалуйста ...

ответ

1
[mSt appendString:mSt2]; 

Этот метод имеет тип возврата void. Он изменяет NSMutableString, на который вы его называете (mSt в этом случае), но ничего не возвращает.

Так что не ожидайте возвратного значения. Удалите NSMutableString *str и просто используйте его напрямую.

[songHrs addObject:mSt]; 

Поскольку строка изменчива, она просто меняет свое положение. Не нужно сохранять результат в отдельной переменной. На самом деле, это целая точка использования NSMutableString вместо NSString.

1

Кроме того, что Squeegy уже писал о добавлении, ваши строки 1, 2 и 3 кажутся также разбитыми - вы должны вызывать initWithString, а не stringWithString, или использовать stringWithString, но не использовать alloc. Вся конструкция бесполезна, хотя и не имеет смысла - но это, вероятно, для целей тестирования.

+0

его работа с ответом Squeegy. – rockey 2010-11-27 21:18:23