Должен ли IBOutlets быть сильным или слабым в ARC?

Я не получил ваш результат, когда идентификаторы свойств объекта были алфавитными. IE8, FF5, Chrome 12 и Opera 9.8 сохранили порядок создания, т. Е.

. Key: AA Value: 23 Key: BB Value: 12

Это было когда идентификаторы были номерами что результаты соответствуют вашим: -

IE8, FF5 -> Key: 23 Значение: AA Key: 12 Значение: BB

Opera, Chrome -> Key: 12 Value: BB-код: 23 Значение: AA

Opera и Chrome хранятся в обратном порядке создания, потому что 12 меньше 23, поэтому, если вы используете вместо этого, скажите: -

var obj = {2:"AA",12:"BB"};

, затем вы получите этот результат для всех 4 браузеров: -

Ключ: 2 Значение: Ключ AA: 12 Значение: BB

Таким образом, это использование чисел в качестве идентификаторов, которые вызывают несоответствие. Если идентификаторы являются алфавитными, то оба заказа на создание и сохраненные свойства одинаковы для 4-х браузеров. Это несмотря на правила ECMA, что сохраненный порядок не должен быть связан с порядком создания.

Если строковые идентификаторы являются числовыми, например. «23» и «12», то Opera и Chrome рассматривают их как числа и снова меняют порядок создания, поэтому тип также не разрешен. Типы «23a» в порядке, как и «a23».

Чтобы ответить на ваш вопрос, используйте нечисловые идентификаторы строк, и поведение будет одинаковым для всех четырех браузеров (и, возможно, для всех браузеров).

535
задан Julian Król 28 August 2015 в 07:38
поделиться