假设我有一个包含表的SQLite数据库:
sqlite> create table person (id integer, firstname varchar, lastname varchar);
Run Code Online (Sandbox Code Playgroud)
现在我想得到表中的每个条目.
sqlite> select t0.id, t0.firstname, t0.lastname from person t0;
Run Code Online (Sandbox Code Playgroud)
这很好用,这就是我要用的.但是,我使用了生成SQL的Apple(Core Data)框架.此框架生成略有不同的SQL查询:
sqlite> select 0, t0.id, t0.firstname, t0.lastname from person t0;
Run Code Online (Sandbox Code Playgroud)
此框架生成的每个SQL查询都以"select 0"开头.这是为什么?
我尝试使用explain命令来查看最新情况,但这是不确定的 - 至少对我而言.
sqlite> explain select t0.id, t0.firstname, t0.lastname from person t0;
addr opcode p1 p2 p3 p4 p5 comment
---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
0 Trace 0 0 0 00 NULL
1 Goto 0 11 0 00 NULL
2 OpenRead 0 2 0 …
Run Code Online (Sandbox Code Playgroud) 我无法理解名为CITemperatureAndTint的CIFilter的输入参数.文档说它有两个输入参数,它们都是2D CIVector.
我经常使用这个过滤器 - 通过实际代码,通过Core Image Fun House(来自Apple的示例项目 - "FunHouse")和iPhoto.
我的直觉说这个过滤器应该有两个标量输入参数:一个用于温度,一个用于色调.如果您查看iPhoto的UI,您会看到:
iPhotos Temperature and Tint UI的屏幕截图:
正如所料:一个温度滑块和一个色调滑块.苹果如何将每个滑块的值"绑定"到2D-Vector?akaru已经问过这个问题,但没有得到答案:CITemperatureAndTint有矢量输入怎么办?
我不太明白为什么NSColor的色调组件表现得像它的行为.这有点奇怪:
NSColor *c = [NSColor colorWithCalibratedHue:0.1
saturation:1.0
brightness:1.0
alpha:1.0];
CGFloat hue = 0.0;
[c getHue:&hue saturation:NULL brightness:NULL alpha:NULL];
NSLog(@"hue = %f", hue);
Run Code Online (Sandbox Code Playgroud)
如果您运行此代码,则会看到记录"hue = 0.1".但是,如果您运行以下代码:
NSColor *c = [NSColor colorWithCalibratedHue:0.0
saturation:1.0
brightness:1.0
alpha:1.0];
CGFloat hue = 0.0;
[c getHue:&hue saturation:NULL brightness:NULL alpha:NULL];
NSLog(@"hue = %f", hue);
Run Code Online (Sandbox Code Playgroud)
您会看到记录"hue = 1.0".这是一个错误吗?我一般都阅读了很多关于色彩空间和颜色的文档,但找不到答案.