有没有办法知道应用程序是否通过本地通知变为活动状态?
我知道有一种方法来测试,如果应用程序被启动从本地通知提醒; 但如果只是坐在那里的背景,并收到通知?
当应用程序变为活动状态时,我需要运行不同的代码:
有办法吗?
在Cocoa Touch项目中,我需要一个特定的类,不仅要有一个委托对象,还要有很多委托对象.
看起来我应该为这些代表创建一个NSArray; 问题是NSArray会保留所有这些代理,它不应该保留(按惯例对象不应该保留它们的代理).
我应该编写自己的数组类来防止保留还是有更简单的方法?谢谢!
在Django 1.8.6中,默认情况下,每当我向list_display
ModelAdmin子类提供选项时,列表中的第一个字段变为可单击并指向对象编辑页面.
有没有办法保持字段的顺序list_display
,但更改可点击的字段?
目前,我有id
可点击的字段(它先进入list_display
),这有点小.我想更好地点击,比如说,name
转到编辑页面.
_cmd
当我从C风格的函数体中访问变量时,变量的值是多少?
它仅在选择器(Objective-C)方法中定义吗?
PS
这个问题可能源于我对什么不理解_cmd
.如果有人为我提供了一个很好的解释来源,我将不胜感激.
有没有办法将合同放在.NET中自动实现的属性上?(如果答案是'是'怎么办?)?
(我假设使用DevLabs的.NET代码合同)
早上好!我正在写一个用于绘制直方图的类,为了方便用户,我决定添加一些便利构造函数.
但是,一旦我最近从DevLabs切换到.NET代码合同,我想充分利用前提条件来防止我自己(或某人)的愚蠢.
public HistoGrapher(IList<string> points, IList<T> values)
: this(points.Select((point, pointIndex) => new KeyValuePair<string, T>(point, values[pointIndex])))
{
Contract.Requires<ArgumentNullException>(points != null, "points");
Contract.Requires<ArgumentNullException>(values != null, "values");
Contract.Requires<ArgumentException>(points.Count == values.Count, "The lengths of the lists should be equal.");
}
public HistoGrapher(IEnumerable<KeyValuePair<string, T>> pointValuePairs)
{
// useful code goes here
}
Run Code Online (Sandbox Code Playgroud)
有一件事让我困惑.如果合同被破坏,我不希望第一个构造函数调用第二个构造函数; 但是,假设this(...)
在执行第一个构造函数的主体之前将执行调用.
这段代码会按我的意愿运行吗?我还没有尝试过.如果没有,是否有能力解决这样的问题?
什么是NSComparisonResult
和NSComparator
?
我见过其中一个类型定义,类似于:
typedef NSComparisonResult (^NSComparator)(id obj1, id obj2);
Run Code Online (Sandbox Code Playgroud)
它与函数指针有什么不同吗?
而且,我甚至无法猜出^
符号的含义.
假设我已经编写了这样一个类(函数的数量并不重要,但实际上,将会有大约3或4个).
private class ReallyWeird
{
int y;
Func<double, double> f1;
Func<double, double> f2;
Func<double, double> f3;
public ReallyWeird()
{
this.y = 10;
this.f1 = (x => 25 * x + y);
this.f2 = (x => f1(x) + y * f1(x));
this.f3 = (x => Math.Log(f2(x) + f1(x)));
}
public double CalculusMaster(double x)
{
return f3(x) + f2(x);
}
}
Run Code Online (Sandbox Code Playgroud)
我想知道C#编译器是否可以优化这样的代码,以便它不会经历多次堆栈调用.
是否能够在编译时内联代理?如果是,在哪些条件和哪些限制?如果不是,有答案为什么?
另一个问题,甚至可能更重要:它会比我声明f1, f2 and f3
的方法慢得多吗?
我问这个是因为我想尽可能保持我的代码为DRY,所以我想实现一个扩展基本随机数生成器(RNG)功能的静态类:它的方法接受一个委托(例如来自NextInt()
RNG的方法)并返回另一个Func
代表(例如用于生成ulong
s),建立在前者之上.只要有许多不同的RNG可以产生int
s,我宁愿不考虑在不同的地方实施十次相同的扩展功能.
因此,可以多次执行该操作(即,类的初始方法可以由代表"包裹"两次或甚至三次).我想知道性能开销会是什么样的.
谢谢!
该问题在主题中描述; 这是我的代码如下:
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
NSArray *colors = [NSArray arrayWithObjects:[UIColor redColor], [UIColor blueColor], nil];
CGGradientRef gradient = CGGradientCreateWithColors(NULL, (CFArrayRef)colors, NULL);
Run Code Online (Sandbox Code Playgroud)
它不起作用.实际上,最后一次通话返回nil
;
当我用引用替换第一个参数时NULL
,它都CGColorSpace
不起作用,例如Device RGB.
怎么了,有没有人有想法?
我遇到了iPhone动画块的奇怪问题.这段代码:
[UIView animateWithDuration:2 delay: 0 options: 0 animations:
^(void) { [controller setBackgroundColor: [UIColor blueColor]]; }
completion: nil];
[UIView animateWithDuration:2 delay: 2 options: 0 animations:
^(void) { [controller setBackgroundColor: [UIColor redColor]]; }
completion: nil];
Run Code Online (Sandbox Code Playgroud)
立即将背景设置为红色,而不通过蓝色状态.对于这段代码,即使是同样的事情:
[UIView animateWithDuration:2 delay: 0 options: 0 animations:
^(void) { [controller setBackgroundColor: [UIColor blueColor]]; }
completion:
^(BOOL wrwg) {
[UIView animateWithDuration:2 delay: 2 options: 0 animations:
^(void) { [controller setBackgroundColor: [UIColor redColor]]; }
completion: nil];
}];
Run Code Online (Sandbox Code Playgroud)
也就是说,我试图在第一个动画完成之后运行第二个动画.有什么问题?
iphone ×4
objective-c ×4
c# ×3
.net ×2
delegates ×2
ios ×2
animation ×1
background ×1
cgcolorspace ×1
cmd ×1
cocoa-touch ×1
constructor ×1
django ×1
django-admin ×1
django-forms ×1
inline ×1
nsarray ×1
performance ×1
properties ×1
python ×1
random ×1
retain ×1
selector ×1
uiview ×1