我想使用登录项的API,但我找不到LaunchServices/LSSharedFileList.h,这会导致错误,例如'架构x86_64的未定义符号:"_ kLSSharedFileListSessionLoginItems"'.
谁能告诉我应该添加哪个库到项目?我在Xcode4.2中使用objective-c for osx10.7.
我有一张包含许多记录的表格,并且还在继续增长:
table T_A
{
total varchar2(10),
total number
}
Run Code Online (Sandbox Code Playgroud)
"总"字段由5个数字和1个字符组成,例如"12345p",该字符是"p"或"N".
现在,我想写一个触发器将现有的"total"转换为数字并将它们存储在"total_num"中.此外,如果有插入或更新操作,它可以自动完成此转换,并且必须满足以下条件:
如果字符是"p",则数字为正,例如"12345p"转换为"12345",否则数字为负数.例如,"12345N"转换为"-12345".
如何写这个触发器?
我想使用NSTask模拟终端运行命令.代码如下.它可以在循环中获得输入并返回过程输出.
int main(int argc, const char * argv[])
{
@autoreleasepool {
while (1) {
char str[80] = {0};
scanf("%s", str);
NSString *cmdstr = [NSString stringWithUTF8String:str];
NSTask *task = [NSTask new];
[task setLaunchPath:@"/bin/sh"];
[task setArguments:[NSArray arrayWithObjects:@"-c", cmdstr, nil]];
NSPipe *pipe = [NSPipe pipe];
[task setStandardOutput:pipe];
[task launch];
NSData *data = [[pipe fileHandleForReading] readDataToEndOfFile];
[task waitUntilExit];
NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"%@", string);
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:当循环结束时,运行环境恢复到初始化状态.例如,默认运行路径是/Users/apple,我运行cd /以更改路径/,然后运行pwd,它返回/Users/apple而不是/.
那么如何才能 …