Объявления средства доступа Objective C (только для чтения, чтение-запись, и т.д.)

dis модуль демонтирует код байта для функции и полезен для наблюдения различия между кортежами и списками.

В этом случае, Вы видите, что доступ к элементу генерирует идентичный код, но что присвоение кортежа намного быстрее, чем присвоение списка.

>>> def a():
...     x=[1,2,3,4,5]
...     y=x[2]
...
>>> def b():
...     x=(1,2,3,4,5)
...     y=x[2]
...
>>> import dis
>>> dis.dis(a)
  2           0 LOAD_CONST               1 (1)
              3 LOAD_CONST               2 (2)
              6 LOAD_CONST               3 (3)
              9 LOAD_CONST               4 (4)
             12 LOAD_CONST               5 (5)
             15 BUILD_LIST               5
             18 STORE_FAST               0 (x)

  3          21 LOAD_FAST                0 (x)
             24 LOAD_CONST               2 (2)
             27 BINARY_SUBSCR
             28 STORE_FAST               1 (y)
             31 LOAD_CONST               0 (None)
             34 RETURN_VALUE
>>> dis.dis(b)
  2           0 LOAD_CONST               6 ((1, 2, 3, 4, 5))
              3 STORE_FAST               0 (x)

  3           6 LOAD_FAST                0 (x)
              9 LOAD_CONST               2 (2)
             12 BINARY_SUBSCR
             13 STORE_FAST               1 (y)
             16 LOAD_CONST               0 (None)
             19 RETURN_VALUE

17
задан RyJ 9 December 2009 в 20:07
поделиться

1 ответ

Внешне свойство будет доступно только для чтения. Находясь внутри класса, он будет иметь как метод доступа, так и установщик.

Установщик не будет виден компилятором вне файла реализации (.m).

40
ответ дан 30 November 2019 в 11:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: