Iphone 目标C中符号^的含义
可能重复:Iphone 目标C中符号^的含义,iphone,objective-c,ios,objective-c-blocks,background-process,Iphone,Objective C,Ios,Objective C Blocks,Background Process,可能重复: 我对在目标C中搜索symbol^的含义感到厌倦。我在很多项目中都见过它,尤其是在后台运行任务中。我会放一个链接 在MyStreamingMovieViewController.m中,您可以在(iAction)EndScrubing中找到以下内容:(id)发送方方法 timeObserver = [[player addPeriodicTimeObserverForInterval:CMTimeMakeWithSeconds(tolerance, NSEC_PER_SEC) que
我对在目标C中搜索symbol^的含义感到厌倦。我在很多项目中都见过它,尤其是在后台运行任务中。我会放一个链接 在
MyStreamingMovieViewController.m
中,您可以在(iAction)EndScrubing中找到以下内容:(id)发送方方法
timeObserver = [[player addPeriodicTimeObserverForInterval:CMTimeMakeWithSeconds(tolerance, NSEC_PER_SEC) queue:dispatch_get_main_queue() usingBlock:
^(CMTime time)
{
[self syncScrubber];
}] retain];
}
也
请告诉我答案。该符号用于声明块 有关更多信息,请阅读此处 更多信息: 块对象是C级语法和运行时功能。他们是 与标准C函数类似,但除了可执行代码之外 它们还可能包含到自动(堆栈)或 托管(堆)内存。因此,块可以保持一组状态 (数据)执行时可用于影响行为的数据 您可以使用块来组合可以传递的函数表达式 到API,可选存储,并由多个线程使用。街区是 作为回调特别有用,因为块同时携带 回调时要执行的代码以及回调期间需要的数据 执行 第二页,共页: 使用“^”运算符声明块变量并指示块文字的开头。块体本身包含在{}中,如本例所示(与C一样,表示语句结束):
该符号用于声明块。块是内联实现的代码的可寻址部分(在其他函数内)。内联函数可以很方便,但块与常规函数和函数指针不同的真正原因是它们可以从围绕其实现的函数范围中引用局部变量,而块的调用方不需要知道周围范围变量的存在。
@chx:这是它的完全复制品question@rakeshNS:符号
^
称为“插入符号”。如果在Google中搜索“^objective-c”,则不会得到有用的结果。如果搜索“caret objective-c”,您会得到相当多的信息。@JeremyP我知道,我在找到它后已将其标记为重复。@JeremyP感谢您的发现。这正是happenedGood链接,但答案本身并不包含任何信息。如果你能解释什么是块
,那就太好了。添加了一些更多的信息,但它是从引用的文档中复制粘贴的。@Johan:给定Nekto的答案,它就在我的前面,并链接到同一文档的第一页,而我引用的专门回答你问题的文本在第二页的顶部,你在这里不是很努力去理解你问题的答案…@DuncanBabbage,这不是我的问题:-)@Johan。。。哎呀!我的错误。:)苹果关于积木的描述现在已经定位,修正了。
- (void)applicationDidEnterBackground:(UIApplication *)application
{
UIApplication* app = [UIApplication sharedApplication];
bgTask = [app beginBackgroundTaskWithExpirationHandler:^{
// Clean up any unfinished task business by marking where you.
// stopped or ending the task outright.
[app endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
}];
// Start the long-running task and return immediately.
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
// Do the work associated with the task, preferably in chunks.
[app endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
});
}