Различие между String и StringBuilder и их внутренней организацией

Это очень основной вопрос. Степень ответа, который я знаю, заключается в том, что Последовательности неизменны. Stringbuilders не являются, поэтому можно добавлять символы в конце.

Так как же строители организованы внутри?? Последовательность представляет собой массив символов.

Также ли StringBuilder содержит массив символов? Итак, у меня есть StringBuilder MY_OBJ= «Здравствуйте». Если я попытаюсь добавить символы в конец MY_OBJ, не означает ли это, что вы создаете новый объект массива и копируете все эти символы в новый? Если да, то как это эффективнее последовательности?

И еще один вопрос, который я имею в виду, как отметить конец StringBuilder? Как и в C, мы используем «/0 »

-121--1555618- UIBarButureItem с пользовательским представлением, не отображающим после первого представления OK, это странно. Я уже час бьюсь головой об него, пытаясь отладить. Я создал UIBarButureItem с пользовательским представлением, которое является UIButton с назначенным ему изображением. ...

Хорошо, это странно. Я уже час бьюсь головой об него, пытаясь отладить.

Я создал UIBarButureItem с пользовательским представлением, которое является UIButton с назначенным ему изображением. Код выглядит следующим образом

UIButton *btnAdd = [[[UIButton alloc] initWithFrame:CGRectMake(0, 0, 28, 28)] autorelease];

[btnAdd setImage:[UIImage imageNamed:@"btn_add"] forState:UIControlStateNormal];

[btnAdd addTarget:self
           action:@selector(addBox)
 forControlEvents:UIControlEventTouchUpInside];

UIBarButtonItem *add = [[UIBarButtonItem alloc] initWithCustomView:btnAdd];

self.navigationItem.rightBarButtonItem = add;

Он расположен в методе - (id) initWireNibName: на расширенном UIViewController

При ПЕРВОМ появлении UIViewController кнопка отображается как обычная и работает нормально. ОДНАКО если я нажимаю на другой контроллер вида, а затем нажимаю, кнопка становится НЕВИДИМОЙ.

Даже когда она невидима, кнопка все еще работает. Я могу нажать на него, и он ведет себя нормально. Я знаю, что это оригинальный UIButton там, как я сделал следы на его адрес памяти и другие свойства... это скрытое свойство FALSE, и его свойство alpha имеет значение 1 .00f

Сначала я подумал, что это, возможно, проблема глубины, но у меня есть код, толкающий мой пользовательский фон UINavigationBar к спине на каждом цикле кадров, и ничего не меняется. СМ. ОБНОВЛЕНИЕ

Почти как будто изображение выходит или что-то за кадром, но указатель на этом тоже в порядке...

Я предполагаю, что это какая-то странная причуда рисования, с которой мне просто нужно обезьяниться, но это очень трудная проблема для гугла.

Любые подсказки будут приветствоваться.

UPDATE

Оказывается, что это проблема глубины. Я рисую пользовательский фон на drawRect:, и этот код НЕ толкает пользовательский фон на заднюю сторону стека представлений, ОДНАКО этот метод вызывается только один раз частными методами рамки... поэтому, когда планка перерисовывается после первого вида, фон не заставляется назад и по какой-то глупой причине решает перерисовать кнопки за ней.

Сейчас я пытаюсь выяснить, как заставить фон отодвигаться каждый раз при рендеринге UINavigationBar.

7
задан M. Ryan 1 September 2011 в 04:11
поделиться