Это пережиток прежних времен, когда у нас было несколько «зон» для выделения. В наши дни все приложения имеют только одну зону, в которой производятся все выделения, но класс NSZone
все еще существует и его слишком много. код написан так, чтобы зависеть от +allocWithZone:
, являющегося основным методом выделения для внесения изменений.
Короче говоря, вы можете полностью игнорировать структуру NSZone
, и единственная причина заботиться о +allocWithZone:
- это необходимость переопределить ее. Аналогично -copyWithZone:
, вы можете просто игнорировать зону. Если вы хотите, вы можете позвонить +allocWithZone:
, проходя в той же зоне, но это не будет иметь никакого значения.
Проекты nxt-python и ruby-nxt представляют собой интерфейсы удаленного управления для NXT. Оба они работают на ПК и удаленно управляют NXT через Bluetooth или USB. Если вы ищете альтернативную прошивку на NXT, есть несколько альтернатив.
У Стива Хассенплуга есть веб-страница с полным списком всех известных альтернативных прошивок и вариантов удаленного управления.
Программное обеспечение NXT
С python вы можете использовать jaraco.nxt или nxt-python для управления роботом NXT. У меня его нет, поэтому я никогда не использовал их.
Нашел этот пример с помощью nxt-python:
#!/usr/bin/env python
import nxt.locator
from nxt.motor import Motor, PORT_B, PORT_C
def spin_around(b):
m_left = Motor(b, PORT_B)
m_left.update(100, 360)
m_right = Motor(b, PORT_C)
m_right.update(-100, 360)
sock = nxt.locator.find_one_brick()
if sock:
spin_around(sock.connect())
sock.close()
else:
print 'No NXT bricks found'
Выглядит неплохо.