Проблема здесь в том, что R должен компилировать другие пакеты R: curl
, openssl
, XML
, RCurl
. Для этого на вашей платформе Linux должны быть установлены некоторые библиотеки разработки .
Часто можно догадаться, как они могут называться: если R-пакет «XXX» является проблемой, вам нужно apt-cache search
для чего-то вроде libXXX-dev
. Часто имя включает в себя также номер. Так что вы можете попробовать, например, из командной строки:
sudo apt-get update
apt-cache search libcurl | grep dev
найти libcurl
пакетов разработки.
Затем вы можете установить их, например:
sudo apt-get install libcurl4-openssl-dev
Как минимум, я думаю, вам нужно что-то вроде:
sudo apt-get install libcurl4-openssl-dev
sudo apt-get install libxml2-dev
Затем попробуйте установить пакет R снова. Запишите любые сообщения об ошибках, при необходимости установите больше библиотек, повторяйте до тех пор, пока это не сработает.
Веб-поиск с соответствующими терминами должен найти больше информации о необходимых системных зависимостях для установки.
Обычно я поддерживаю слабую ссылку из моего UIView на мой UIViewController, если он мне нужен, обычно создавая метод, подобный следующему:
-(MyView*)initWithController:(CardCreatorViewController*) aController andFrame:(CGRect)aFrame
{
if (self = [super initWithFrame:aFrame])
{
controller = aController;
// more initialisation here
}
return self;
}
Вы также можете использовать шаблон делегата, если хотите более разобщенное решение. Я склонен думать, что это излишне для представления и его контроллера, но я бы использовал его с системой контроллеров и субконтроллеров.
Поскольку UITableViewCell находится где-то в иерархии представлений, вы можете получить доступ к своему корневому представлению, получая view.superview, пока не получите его. Если вы не хотите добавлять какие-либо свойства к вашему представлению, вы можете получить доступ к его контроллеру через свойство представления nextResponder
. Конечно, вам придется приводить его к тому классу, который вам нужен, и это может быть не самым чистым использованием собственности. Это быстрый и грязный хак, чтобы добраться до него.
Если вы ищете что-то, что можете показать своим детям, я бы хотел пройтись по вашему делегату приложения, или если ваш контроллер представления оказался Singleton, просто внедрите шаблон проектирования Singleton и получите к нему доступ через него.
This should do the trick:
UITableView *tv = (UITableView *) self.superview.superview;
UITableViewController *vc = (UITableViewController *) tv.dataSource;