Как извлечь NSString из NSMutableString? - PullRequest
5 голосов
/ 30 августа 2009

Это несколько сбивает с толку. NSMutableString наследуется от NSString, но означает ли это, что я могу безопасно передать NSMutableString где угодно, где на самом деле нужна NSString? И я могу назначить NSString для NSMutableString? Как бы я получил NSString из NSMutableString, чтобы избежать проблем, если таковые имеются?

1 Ответ

17 голосов
/ 30 августа 2009
  1. Да, вы можете передать NSMutableString для NSString. Однако имейте в виду, что если объект, который вы передаете ему, сохраняет ссылку на этот объект, он «увидит» все изменения, внесенные в объект изменяемой строки. Это не всегда желательно.

  2. Нет, не возможно. Если бы у вас был указатель NSMutableString, указывающий на NSString и вызванный, скажем, appendString:, объект не знал бы, как обработать вызов.

    (первые два - основы полиморфизма включения ОО)

  3. Если вы хотите получить неизменяемую строку из изменяемой строки, используйте [mutableString copy].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...