我看过以下用过:
double delayInSeconds = 2.0;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
//code to be executed on the main queue after delay
[self doSometingWithObject:obj1 andAnotherObject:obj2];
});
Run Code Online (Sandbox Code Playgroud)
但它不应该在块中使用弱自我吗?
__weak typeof(self) weakSelf = self;
double delayInSeconds = 2.0;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
//code to be executed on the main queue after delay
[weakSelf doSometingWithObject:obj1 andAnotherObject:obj2];
});
Run Code Online (Sandbox Code Playgroud)
我对GCD和Blocks很新,并尝试找出最正确的用法.非常感谢对此的任何指导.
memory-management weak-references objective-c grand-central-dispatch objective-c-blocks
要唯一标识 iOS 6 及更高版本中的应用程序,请使用以下代码:
UIDevice.currentDevice().identifierForVendor
Run Code Online (Sandbox Code Playgroud)
有 Mac OSX 的等效程序吗?