Я реализовал селектор alertDidEnd:returnCode:contextInfo:
.Последний параметр contextInfo является пустым указателем.Перед вызовом метода я собираю указатель следующим образом.
# in windowShouldClose
p = Pointer.new(:boolean)
p.assign(true)
Затем я вызываю метод, и внутри его тела появляется следующее:
# in alertDidEnd
puts p[0] # => a number like 245
puts p.cast!('B')[0] # => false (rather than true)
Что я делаю неправильно?Это потому, что вызывающий метод (windowShouldClose) завершает свою работу в собственном потоке до того, как у этого селектора появится шанс (только предположения)?
Или я должен создать указатель как указатель на объект?
# make a pointer to an object and assign to it the instance of TrueClass
p = Pointer.new(:id)
p.assign(true)
Я читал, что O'reilly Macruby Book говорит по этому поводу.
Спасибо!