我正在尝试通过覆盖dealloc在Objective-C类中创建一些清理代码:
-(void)dealloc {
//cleanup code
[super dealloc];
}
Run Code Online (Sandbox Code Playgroud)
虽然我不能这样做,因为[super dealloc]启用ARC时编译器不允许这样做.有没有我可以使用的替代方案?
我有一个ncurses程序,有多个子窗口作为列.每个子窗口都有固定的宽度和父终端窗口的高度.
然而,我发现如果终端的宽度减小,那么其中一个窗口会失去其固定宽度,并且似乎使用终端的整个剩余宽度"溢出"它们先前设置的边界.
这是我用于上面的代码:
#include <ncurses.h>
int main() {
WINDOW * winA, * winB;
int i = 0, width = 30;
initscr();
// Suppress stdout
noecho();
// Enable keypad
keypad(stdscr, true);
// interrupt, quit, suspend, and flow control characters are all passed through uninterpreted
raw();
winA = newwin(0, width, 0, 0);
winB = newwin(0, width, 0, width);
timeout(50);
while(getch() != 'q') {
i = width * getmaxy(stdscr);
werase(winA);
werase(winB);
while (i--) {
waddstr(winA, "0");
waddstr(winB, "1");
}
wnoutrefresh(stdscr);
wnoutrefresh(winA);
wnoutrefresh(winB); …Run Code Online (Sandbox Code Playgroud) 我正在使用Zend DB使用以下代码生成查询:
$table->select()
->setIntegrityCheck(false) //required for multi-table join
->from('modules')
->joinInner(
'basket_modules',
'modules.id = basket_modules.id')
->joinInner(
'baskets',
'baskets.id = basket_modules.basket_id')
->where('baskets.id = ?', $this->id);
Run Code Online (Sandbox Code Playgroud)
这会生成SQL:
SELECT modules.*, basket_modules.*, baskets.*
FROM modules
INNER JOIN basket_modules ON modules.id = basket_modules.id
INNER JOIN baskets ON baskets.id = basket_modules.basket_id
WHERE (baskets.id = '3')
Run Code Online (Sandbox Code Playgroud)
我的问题在于SELECT部分,它选择所有3个表而不仅仅是模块,这是我想要的.所以我想要生成的查询是:
SELECT `modules`.*
FROM `modules`
#etc...
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?如果我手动编辑查询并运行它,它会返回我想要的内容,因此语法应该没有问题.