Last active
June 19, 2022 20:01
-
-
Save MarcoEidinger/d716f1264d936e0615f6ed8c3dc34c0a to your computer and use it in GitHub Desktop.
Snippets.json example
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| {"list":[{"IDECodeSnippetCompletionPrefix":"fnv","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (void)<#method name#> {\n <#code#>\n}","IDECodeSnippetIdentifier":"6B47EC5A-B22B-4155-8C3F-632CCDFC4502","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"创建一个返回值为空的方法","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swiftmark","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"\/\/ MARK: - <#section#>","IDECodeSnippetIdentifier":"A54D18ED-62B6-4468-9F9F-880DEF598DAF","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"swiftmark","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"backItem","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"[UIBarButtonItem qmui_backItemWithTarget:self action:@selector(<#selector name#>)];","IDECodeSnippetIdentifier":"47B97B84-8A9F-4862-B658-AC7849E83C75","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"Back UIBarButtonItem","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swifttrycatch","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"do {\n try <#code#>\n } catch <#errortype#> {\n <#code#>\n } catch <#errortype#> {\n <#code#>\n }","IDECodeSnippetIdentifier":"346D0D22-46F9-4BB1-AACB-82574540A27E","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"swifttrycatch","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"didInitialize","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (void)didInitialize {\n [super didInitialize];\n <##>\n}","IDECodeSnippetIdentifier":"34DD9E8F-5AF0-4CD0-9A6C-B3E4C7CCBD7F","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"didInitialize","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"snippetViewWillDisappear","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"override func viewWillDisappear(_ animated: Bool) {\n super.viewWillDisappear(animated)\n}","IDECodeSnippetIdentifier":"EC31BFB5-3D5A-42DE-BED5-86E975C94D8F","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"viewWillDisappear","IDECodeSnippetTitle":"viewWillDisappear","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swiftdispatchasync","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"DispatchQueue.global(qos: .background).async {\n <#code#>\n}","IDECodeSnippetIdentifier":"39E33A76-F4E9-4531-9638-7CBB4ABA4B8C","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"swiftdispatchasync","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"numberOfRowsInSection","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {\n return <#numberOfRows#>\n}","IDECodeSnippetIdentifier":"A57800E7-5EA2-44BC-A868-39E0FB029E6C","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetTitle":"numberOfRowsInSection:","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"viewDidDisappear","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (void)viewDidDisappear:(BOOL)animated {\n [super viewDidDisappear:animated];\n <#code#>\n}","IDECodeSnippetIdentifier":"7FA93830-68A9-4F6F-B87E-F9304B210C4B","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"viewDidDisappear:","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swift-documentdirectory","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"if let path = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.documentDirectory, FileManager.SearchPathDomainMask.userDomainMask, true).first {\n\t\tlet documentsDirectoryURL = NSURL.fileURL(withPath: path)\n\t}","IDECodeSnippetIdentifier":"E3AE2218-F56E-45BE-909F-1EC5DE83F3AE","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"Document directory path snippet for Swift","IDECodeSnippetTitle":"Swift document directory","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"snippetMark","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"\/\/ MARK: - <#Name#>","IDECodeSnippetIdentifier":"B104C8B3-11D8-481F-A6BE-04A53D3DECC2","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"Add a MARK with a placeholder name","IDECodeSnippetTitle":"MARK","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"titleItem","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"[UIBarButtonItem qmui_itemWithTitle:<#(nullable NSString *)#> target:self action:@selector(<#selector name#>)];","IDECodeSnippetIdentifier":"43063D01-168F-43E2-B0D4-10A07FA19445","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"Title UIBarButtonItem","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"propertySwizzleWeak_QMUI","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"static char kAssociatedObjectKey_<#property name#>;\n- (void)set<#property name#> {\n QMUIWeakObjectContainer *weakContainer = objc_getAssociatedObject(self, &kAssociatedObjectKey_<#property name#>);\n if (!weakContainer) {\n weakContainer = [QMUIWeakObjectContainer new];\n }\n weakContainer.object = <#argument name#>;\n objc_setAssociatedObject(self, &kAssociatedObjectKey_<#property name#>, weakContainer, OBJC_ASSOCIATION_RETAIN_NONATOMIC);\n}\n\n- <#property getter#> {\n return (<#property type#> *)((QMUIWeakObjectContainer *)objc_getAssociatedObject(self, &kAssociatedObjectKey_<#property name#>)).object;\n}","IDECodeSnippetIdentifier":"5BD3118C-1D72-471C-BED5-AF14D9EE54FF","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"QMUI - 用swizzle方式创建weak类型的property的getter\/setter","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"propertySwizzleCopy","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"static char kAssociatedObjectKey_<#property name#>;\n- (void)set<#property name#> {\n objc_setAssociatedObject(self, &kAssociatedObjectKey_<#property name#>, <#argument name#>, OBJC_ASSOCIATION_COPY_NONATOMIC);\n}\n\n- <#property getter#> {\n return (<#Property type#> *)objc_getAssociatedObject(self, &kAssociatedObjectKey_<#property name#>);\n}","IDECodeSnippetIdentifier":"499A01BF-2245-446A-A7D5-D940FE6833CD","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"用swizzle方式创建copy类型的property的getter\/setter","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"sizeForItemAtIndexPath","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {\n return CGSizeMake(<#width#>, <#height#>);\n}","IDECodeSnippetIdentifier":"AD640EEB-3A51-46EF-8B2E-47B72779C9C3","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetTitle":"sizeForItemAtIndexPath:","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"jsonFileRead","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"let path: String = \"<# pathToFile #>\"\nlet readingOptions: JSONSerialization.ReadingOptions = .allowFragments\nlet data = try Data(contentsOf: URL(fileURLWithPath: path), options: .mappedIfSafe)\nlet json = try JSONSerialization.jsonObject(with: data, options: readingOptions)\nlet jsonDictionary = json as? [String: Any]","IDECodeSnippetIdentifier":"83743DD3-C190-4E4E-AA70-5434AC345299","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"Read file contents and serialize the JSON data to a dictionary","IDECodeSnippetTitle":"Read from a JSON file at a given path","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"didSelectRowAtIndexPath","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {\n <#code#>\n}","IDECodeSnippetIdentifier":"5090E861-C500-42E1-B0FE-2F30D4A4B752","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetTitle":"didSelectRowAtIndexPath:","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"pragma","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"#pragma mark - <#Section#>","IDECodeSnippetIdentifier":"3B9FA813-1CC1-4973-A55D-FAC087F2F75D","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"Pragma Mark","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swift-dispatchafter","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(<#seconds#>)) {\n \n}","IDECodeSnippetIdentifier":"E772ABB6-7616-42C2-9F95-9884388957EE","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"GCD dispatch_after snippet for Swift","IDECodeSnippetTitle":"Swift dispatch_after","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swift-uialertcontroller","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"let alert = UIAlertController(title: <#title#>, message: <#message#>, preferredStyle: .alert)\n alert.addAction(UIAlertAction(title: \"\", style: .default, handler: { (action) in\n alert.dismiss(animated: <#Bool#>, completion: {\n <#code#>\n })\n }))\n \n presentViewController(alert, animated: true, completion: nil)","IDECodeSnippetIdentifier":"3141D76F-5123-4B60-8D39-8AD76BF37BF4","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"Present a UIAlertController","IDECodeSnippetTitle":"Swift - UIAlertController","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"__strongSelf","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"__strong __typeof(weakSelf)strongSelf = weakSelf;","IDECodeSnippetIdentifier":"strongSelf","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"strongSelf","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"removeFromParentViewController","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"[<#childViewController#> willMoveToParentViewController:nil];\n [<#childViewController#>.view removeFromSuperview];\n [<#childViewController#> removeFromParentViewController];","IDECodeSnippetIdentifier":"04996CD3-4E1F-49A9-A3CC-C3E42D5673BB","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"UIViewController removeFromParentViewController","IDECodeSnippetTitle":"removeFromParentViewController","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"dispatch_async_global","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{\n <##>\n });","IDECodeSnippetIdentifier":"6488796C-06A8-475A-9488-DD899B3EAC1A","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetTitle":"dispatch async global queue","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"setupToolbarItems","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (void)setupToolbarItems {\n [super setupToolbarItems];\n <#code#>\n}","IDECodeSnippetIdentifier":"022DE893-7D28-4272-B3F7-9B493601EFBE","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetTitle":"setupToolbarItems","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"getHeight","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"CGRectGetHeight(<#CGRect rect#>)","IDECodeSnippetIdentifier":"A4384427-2E28-4CBD-93EB-B9C7DE21404D","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"CGRectGetHeight","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"addtarget","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"[<#control#> addTarget:self action:@selector(handle<#controlName#>Event:) forControlEvents:UIControlEventTouchUpInside];","IDECodeSnippetIdentifier":"799325FD-C68C-4BD4-AFE5-F398D97107F6","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"UIControl Add Target","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"numberOfSectionsInTableView","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {\n return <#number#>;\n}","IDECodeSnippetIdentifier":"D7C98832-B74F-4274-881D-50D6EA4981B2","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetTitle":"numberOfSectionsInTableView:","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"log","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"NSLog(@\"<##>\");","IDECodeSnippetIdentifier":"5DD6260F-35C7-46BA-A7FD-B0FD4B55BCE2","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetSummary":"","IDECodeSnippetTitle":"NSLog","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"logCallStackSymbols","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"NSLog(@\"Call Stack: %@\", [NSThread callStackSymbols]);","IDECodeSnippetIdentifier":"9CDCCD18-A33D-48DF-8363-F028E1465EC2","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetTitle":"print stack symbols","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"cellForRowAtIndexPath","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {\n static NSString *identifier = @\"cell\";\n <#UITableViewCell#> *cell = [tableView dequeueReusableCellWithIdentifier:identifier];\n if (!cell) {\n cell = [[<#UITableViewCell#> alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];\n }\n return cell;\n}","IDECodeSnippetIdentifier":"021DC28A-CFB6-45A2-B055-D3D552E5301D","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetTitle":"cellForRowAtIndexPath:","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swift-dispatchasync","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"DispatchQueue.global(qos: .default).async {\n <#asynchronous work#>\n DispatchQueue.main.async {\n <#callback#>\n }\n}","IDECodeSnippetIdentifier":"731C3867-9874-4559-8350-5F2B054A5AF9","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"GCD dispatch_async snippet for Swift","IDECodeSnippetTitle":"Swift dispatch_async","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"blockParameterInMethod","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"(<#returnType#> (^)(<#parameterTypes#>))<#blockName#>","IDECodeSnippetIdentifier":"B0665B7F-4534-4DBA-A986-4CD8B7574215","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"OC方法参数里的 block 声明","IDECodeSnippetTitle":"block as OC method parameter","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"rac_combine","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"[[[[RACSignal combineLatest:@[RACObserve(<#object#>, <#property1#>),\n RACObserve(<#object#>, <#property2#>)]] map:^id _Nullable(RACTuple *tuple) {\n return @(<#BOOL#>);\n }] distinctUntilChanged] subscribeNext:^(NSNumber *x) {\n @strongify(self);\n if (x.boolValue) {\n <#do something#>\n }\n }];","IDECodeSnippetIdentifier":"901FCC55-9658-48F2-AFFD-DAD0957FDA3C","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetTitle":"RAC Combine","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"terminateXcode","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"if let runningXcode = NSRunningApplication.runningApplications(withBundleIdentifier: \"com.apple.dt.Xcode\").first {\n runningXcode.forceTerminate()\n}","IDECodeSnippetIdentifier":"89F41559-446D-44F7-8154-6AEEBC391E09","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"macosx","IDECodeSnippetSummary":"Force termination of running Xcode application","IDECodeSnippetTitle":"Terminate Xcode","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swiftdispatchafter","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"DispatchQueue.main.asyncAfter(deadline: .now() + <#time#>) {\n <#code#>\n}","IDECodeSnippetIdentifier":"80B6AA57-C58F-4B87-9C34-68469992CD0A","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"swiftdispatchafter","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"tableViewDelegate","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {\n return <#number#>;\n}\n\n- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {\n return <#numberOfRows#>;\n}\n\n- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {\n return <#heightForRow#>;\n}\n\n- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {\n static NSString *identifier = @\"cell\";\n <#UITableViewCell#> *cell = [tableView dequeueReusableCellWithIdentifier:identifier];\n if (!cell) {\n cell = [[<#UITableViewCell#> alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];\n }\n return cell;\n}\n\n- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {\n <#code#>\n}","IDECodeSnippetIdentifier":"10AF1F50-BF9C-4579-B6D7-45F5DF40D63A","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetSummary":"UITableViewDelegate初始化代码","IDECodeSnippetTitle":"UITableViewDelegate","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"extend_void_two_argvs","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"ExtendImplementationOfVoidMethodWithTwoArguments([<#targetClass#> class], @selector(<#targetSelector#>), <#argumentType1#>, <#argumentType2#>, ^(<#targetClass#> *selfObject, <#argumentType1#> firstArgv, <#argumentType2#> secondArgv) {\n <#custom extend#>\n });","IDECodeSnippetIdentifier":"61426012-95A0-401A-A3AC-89F229A9B831","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"Extend Implementation Of Void Return Two Arguments","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"viewWillDisappear","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (void)viewWillDisappear:(BOOL)animated {\n [super viewWillDisappear:animated];\n <#code#>\n}","IDECodeSnippetIdentifier":"E351FBA5-DDEF-4EC3-970E-8EA7F6CCF579","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"viewWillDisappear:","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"exchangeImplementation_QMUI","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"+ (void)load {\n static dispatch_once_t onceToken;\n dispatch_once(&onceToken, ^{\n ExchangeImplementations(<#class#>, @selector(<#origin selecotr#>), @selector(<#new selector#>));\n });\n}","IDECodeSnippetIdentifier":"444CF4FA-4BD2-43F5-8278-7234EA8E5FBF","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"exchange method implementations in +load with QMUI","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"imageItem","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"[UIBarButtonItem qmui_itemWithImage:UIImageMake(@\"<#image name#>\") target:self action:@selector(<#selector name#>)];","IDECodeSnippetIdentifier":"3A422B1A-0422-41EC-8CB7-D7B961CDC76D","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"Image UIBarButtonItem","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"openXcode","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"let task = Process()\nlet pipe = Pipe()\n\ntask.standardOutput = pipe\ntask.standardError = pipe\ntask.arguments = [\"-c\", \"open -a Xcode\"]\ntask.launchPath = \"\/bin\/zsh\"\ntask.standardInput = nil\ntask.launch()","IDECodeSnippetIdentifier":"E70E73EE-1E44-4598-BB92-1815ADC2BD54","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"macosx","IDECodeSnippetSummary":"Use Process to open Xcode programmatically","IDECodeSnippetTitle":"Open Xcode","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swift-nslocalizedstring","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"NSLocalizedString(<#key#>, comment: <#comment#>)","IDECodeSnippetIdentifier":"F60D36B3-5FE0-4C44-92AD-E33658E5AF89","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"NSLocalizedString function snippet for Swift","IDECodeSnippetTitle":"Swift NSLocalizedString","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"getMinY","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"CGRectGetMinY(<#CGRect rect#>)","IDECodeSnippetIdentifier":"6B079320-8812-48E4-ABE9-6303E529ADCA","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"CGRectGetMinY","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"extend_return_non_argv","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"ExtendImplementationOfNonVoidMethodWithoutArguments([<#targetClass#> class], @selector(<#targetSelector#>), <#returnType#>, ^<#returnType#>(<#targetClass#> *selfObject, <#returnType#> originReturnValue) {\n return <#custom extend#>\n});","IDECodeSnippetIdentifier":"00BCE9A8-0268-4700-BA64-83A000EF3825","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"Extend Implementation Of Non Void Return Non Argument","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"override_void_single_argv","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"OverrideImplementation([<#targetClass#> class], @selector(<#targetSelector#>), ^id(__unsafe_unretained Class originClass, SEL originCMD, IMP (^originalIMPProvider)(void)) {\n return ^(<#targetClass#> *selfObject, <#argumentType#> firstArgv) {\n\n \/\/ call super\n void (*originSelectorIMP)(id, SEL, <#argumentType#>);\n originSelectorIMP = (void (*)(id, SEL, <#argumentType#>))originalIMPProvider();\n originSelectorIMP(selfObject, originCMD, firstArgv);\n \n <#custom override#>\n };\n });","IDECodeSnippetIdentifier":"D1B458BC-5F28-45E9-A26A-63BD851DD21C","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"Override Implementation Of Void Return Single Argument","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swiftuitableviewdatasource","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"func numberOfSections(in tableView: UITableView) -> Int {\n return <#count#>\n}\n\nfunc tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {\n return <#count#>\n}\n\nfunc tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {\n <#code#>\n}","IDECodeSnippetIdentifier":"CE2F717F-36C5-4A9F-A8D4-D8870E5572EC","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"swiftuitableviewdatasource","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"deprecated","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"DEPRECATED_MSG_ATTRIBUTE(\"<#message#>\")","IDECodeSnippetIdentifier":"B3E536D7-2C10-4F21-9FB8-2173A3D5DD8D","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetSummary":"","IDECodeSnippetTitle":"deprecated message","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"snippetMarksUIViewController","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"\/\/ MARK: - Properties\n\n\/\/ MARK: - IBOutlets\n\n\/\/ MARK: - Life cycle\n\n\/\/ MARK: - Set up\n\n\/\/ MARK: - IBActions\n\n\/\/ MARK: - Actions\n\n\/\/ MARK: - Navigation\n\n\/\/ MARK: - Network Manager calls\n\n\/\/ MARK: - Extensions\n ","IDECodeSnippetIdentifier":"815B1E31-537D-46BF-9A94-66398479A921","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"MARKs to use in your UIViewController","IDECodeSnippetTitle":"UIViewController MARKs","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"snippetViewWillAppear","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"override func viewWillAppear(_ animated: Bool) {\n super.viewWillAppear(animated)\n}","IDECodeSnippetIdentifier":"5C1B2AA3-F555-4FFE-A089-1594E2E78454","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"viewWillAppear","IDECodeSnippetTitle":"viewWillAppear","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"didDeselectItemAtIndexPath","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (void)collectionView:(UICollectionView *)collectionView didDeselectItemAtIndexPath:(NSIndexPath *)indexPath {\n <#code#>\n}","IDECodeSnippetIdentifier":"8856E30C-BC54-42E2-97DA-882B595548F6","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetTitle":"didDeselectItemAtIndexPath:","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swift-dispatchmain","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"DispatchQueue.main.async(execute: { () -> Void in\n \n})","IDECodeSnippetIdentifier":"E8847AF3-D9A6-40C6-9DC1-981DD1A1042A","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"GCD dispatch_async on main queue snippet for Swift","IDECodeSnippetTitle":"Swift dispatch_async on main queue","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swift-closuretypealias","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"typealias <#ClosureName#> = (_ <#arguments#>: <#type#>) -> <#return value#>","IDECodeSnippetIdentifier":"42AA2BDB-AA64-4260-9726-A72C20E79FBB","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"Closure typealias with arguments and return value snippet for Swift","IDECodeSnippetTitle":"Swift closure typealias","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"setImageForButton","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"[<#button#> setImage:<#image#> forState:UIControlStateNormal];","IDECodeSnippetIdentifier":"EC69F79A-C822-4381-ACE7-82BA4ED97D27","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"set UIButton Image","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"pa","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"@property(nonatomic, assign) <#type#> <#name#>;","IDECodeSnippetIdentifier":"9F96E543-5450-452B-9CA8-8BCCD8D841ED","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"Property For Assign","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"propertySwizzleAssign","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"static char kAssociatedObjectKey_<#property name#>;\n- (void)set<#property name#> {\n objc_setAssociatedObject(self, &kAssociatedObjectKey_<#property name#>, @(<#argument name#>), OBJC_ASSOCIATION_RETAIN_NONATOMIC);\n}\n\n- <#property getter#> {\n return [((NSNumber *)objc_getAssociatedObject(self, &kAssociatedObjectKey_<#property name#>)) <#NSNumber value type for property#>];\n}","IDECodeSnippetIdentifier":"83D77BF6-443B-4513-A2C3-DAE9263D6995","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"用swizzle方式创建assign类型的property的getter\/setter","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swiftcheckavailability","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"if #available(iOS 9, *) {\n <#API available statements#>\n} else if #available(macOS 10.12, *) {\n <#API available statements#>\n} else {\n <#fallback statements#>\n}","IDECodeSnippetIdentifier":"286EE23E-804C-448C-84C2-437F71E31054","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"swiftcheckavailability","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swift-weak","IDECodeSnippetCompletionScopes":["CodeExpression"],"IDECodeSnippetContents":"[weak self] in\n guard let `self` = self else { return }","IDECodeSnippetIdentifier":"B5FFB5B9-1B62-49B5-B1E1-0749BBE07D42","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"weakify self in closure","IDECodeSnippetTitle":"Swift weakify self","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"pc","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"@property(nonatomic, copy) <#type#> *<#name#>;","IDECodeSnippetIdentifier":"8B1C05A2-7F9D-4877-9A2A-69BC4CD1E990","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"Property For Copy","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"setFrameY","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"<#view#>.frame = CGRectSetY(<#view#>.frame, <#y#>);","IDECodeSnippetIdentifier":"B5531524-A9B1-4FC3-AB9C-81C93EA6F201","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"set UIView frame Y with QMUI CGRectSetY","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"setTitleForButton","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"[<#button#> setTitle:@\"<#title#>\" forState:UIControlStateNormal];","IDECodeSnippetIdentifier":"23208581-6DAE-46C3-BCE0-35025AFDCB62","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetTitle":"set UIButton Title","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"sharedInstance","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"+ (instancetype)sharedInstance {\n static dispatch_once_t onceToken;\n static <#class name#> *instance = nil;\n dispatch_once(&onceToken, ^{\n instance = [[super allocWithZone:NULL] init];\n });\n return instance;\n}\n\n+ (id)allocWithZone:(struct _NSZone *)zone {\n return [self sharedInstance];\n}","IDECodeSnippetIdentifier":"26D03BCD-735E-4CFD-8E48-3DBA65BC70A1","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"sharedInstance","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"initWithNib","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {\n if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {\n <##>\n }\n return self;\n}","IDECodeSnippetIdentifier":"97299DFC-3270-4449-89FC-30446EB10CC4","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"initWithNib","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"numberOfItemsInSection","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {\n return <#numberOfItemsInSection#>;\n}","IDECodeSnippetIdentifier":"101B0213-960B-478E-9D50-99EA39F3CC9F","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetTitle":"numberOfItemsInSection:","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swift-uitableviewdelegate","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":" \/\/MARK: UITableViewDelegate\n \n func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {\n \n }\n \n func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {\n \n }\n \n func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {\n \n }\n \n func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {\n \n }\n \n func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {\n \n }\n \n func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {\n \n }","IDECodeSnippetIdentifier":"183B54E8-CAE0-4C8F-B8B3-43E3965FDF1A","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"UITableViewDelegate snippet for Swift","IDECodeSnippetTitle":"Swift UITableViewDelegate","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"setupNavigationItems","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (void)setupNavigationItems {\n [super setupNavigationItems];\n self.title = @\"<##>\";\n}","IDECodeSnippetIdentifier":"DC0DDC5E-D32D-49BF-A61E-06403ADBB977","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetSummary":"设置 navigationItem","IDECodeSnippetTitle":"setupNavigationItems","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"blockvar","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"<#returnType#> (^<#blockName#>)(<#parameterTypes#>) = ^<#returnType#>(<#parameters#>) {\n <#code#>\n };","IDECodeSnippetIdentifier":"A403E0E0-2CE2-4A82-B921-BEE3F46DB93C","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"作为局部变量的block定义","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"fnv_handleEvent","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (void)handle<#ControlName#>Event:(id)sender {\n <#code#>\n}\n","IDECodeSnippetIdentifier":"53A49D67-CFF3-4449-AE38-B50E4F44529F","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetTitle":"创建UIControl的事件回调","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"blocktypedef","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"typedef <#returnType#> (^<#blockName#>)(<#arguments#>);","IDECodeSnippetIdentifier":"80FEABC7-1C63-4C3F-A937-D0E3D8D04100","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"block的typedef定义","IDECodeSnippetTitle":"typedef block","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"didInitializeWithStyle_cell","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (void)didInitializeWithStyle:(UITableViewCellStyle)style {\n [super didInitializeWithStyle:style];\n <##>\n}","IDECodeSnippetIdentifier":"8D9C07CC-59C0-4411-A4D3-AB5758DC0901","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"didInitializeWithStyle - QMUITableViewCell","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swiftuicollectionviewdatasource","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"func numberOfSections(in collectionView: UICollectionView) -> Int {\n return <#count#>\n}\n\nfunc collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {\n return <#count#>\n}\n\nfunc collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {\n <#code#>\n}","IDECodeSnippetIdentifier":"F932ECD9-8F67-4C60-98CF-071204B1FF17","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"swiftuicollectionviewdatasource","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"fnv_pan","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (void)handlePanGestureRecognizer:(UIPanGestureRecognizer *)gestureRecognizer {\n <#code#>\n}","IDECodeSnippetIdentifier":"85908275-A2F1-49FA-8188-739CC7FF1BF5","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetTitle":"创建pan手势事件回调","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swiftuipickerviewdatasource","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"func numberOfComponents(in pickerView: UIPickerView) -> Int {\n return <#count#>\n}\n\nfunc pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {\n return <#count#>\n}","IDECodeSnippetIdentifier":"221CE04F-5B1F-4A86-8EB3-52FAEF45CF0A","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"swiftuipickerviewdatasource","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"initWithStyle","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (instancetype)initWithStyle:(UITableViewStyle)style {\n if (self = [super initWithStyle:style]) {\n <#code#>\n }\n return self;\n}","IDECodeSnippetIdentifier":"E61F2B72-1DDE-42D9-A0CB-B713695C598E","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetTitle":"UITableView -initWithStyle:","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"addChildViewController","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"[self addChildViewController:<#childViewController#>];\n [self.view addSubview:<#childViewController#>.view];\n [<#childViewController#> didMoveToParentViewController:self];","IDECodeSnippetIdentifier":"51608015-7179-49F1-8CF7-4810CEF069E0","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetSummary":"UIViewController addChildViewController:","IDECodeSnippetTitle":"addChildViewController","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"emailFeedback","IDECodeSnippetCompletionScopes":["CodeExpression"],"IDECodeSnippetContents":"Button(\"Send Feedback\") {\n let service = NSSharingService(named: NSSharingService.Name.composeEmail)\n service?.recipients = [\"<# emailAddress #>\"]\n service?.subject = \"<# subject #>\"\n service?.perform(withItems: [])\n}","IDECodeSnippetIdentifier":"596A9458-30FE-4F20-9D5A-1E654D7CC121","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"macosx","IDECodeSnippetSummary":"SwiftUI button to trigger composing an email on macOS","IDECodeSnippetTitle":"SwiftUI button \"Send Feedback\"","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"initWithStyleForCell","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {\n if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {\n <#code#>\n }\n return self;\n}","IDECodeSnippetIdentifier":"BF5695D8-5243-4DC2-8153-82B8858295AC","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetSummary":"UITableViewCell的默认初始化方法","IDECodeSnippetTitle":"initWithStyle:reuseIdentifier:","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swiftassociatedobject","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"private struct AssociatedKeys {\n static var <#name#> = \"<#name#>\"\n }\n\n var <#name#>: String? {\n get {\n return objc_getAssociatedObject(self, &AssociatedKeys.<#name#>) as? String\n }\n\n set {\n if let newValue = newValue {\n objc_setAssociatedObject(self, &AssociatedKeys.<#name#>, newValue as String?,\n .OBJC_ASSOCIATION_RETAIN_NONATOMIC\n )\n }\n }\n }","IDECodeSnippetIdentifier":"8F683F39-CAF9-4C8F-A82C-E990F83ABECF","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"swiftassociatedobject","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"static reference","IDECodeSnippetCompletionScopes":["TopLevel"],"IDECodeSnippetContents":"static <#type#> * const k<#name#> = <#value#>;","IDECodeSnippetIdentifier":"9365F43F-CDAB-444A-A5CD-D5E5CEAD614B","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"static const reference","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"loadView","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (void)loadView {\n self.view = <#custom view#>;\n}","IDECodeSnippetIdentifier":"94A53770-ED4C-4395-AB15-CCA346BF2904","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetTitle":"loadView","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swift-forin","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"for case let <#object#> in <#collection#> as [<#Type#>] {\n \n}","IDECodeSnippetIdentifier":"48C9EB7D-A166-4781-8DC8-6961B57BDC02","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"for-in loop that casts objects inline","IDECodeSnippetTitle":"Swift for-in loop with casting","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"exchangeMultipleImplementations_QMUI","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"+ (void)load {\n static dispatch_once_t onceToken;\n dispatch_once(&onceToken, ^{\n SEL selectors[] = {\n @selector(<#selector name1#>),\n @selector(<#selector name2#>)\n };\n for (NSUInteger index = 0; index < sizeof(selectors) \/ sizeof(SEL); index++) {\n SEL originalSelector = selectors[index];\n SEL swizzledSelector = NSSelectorFromString([@\"<#new method prefix#>_\" stringByAppendingString:NSStringFromSelector(originalSelector)]);\n ExchangeImplementations([self class], originalSelector, swizzledSelector);\n }\n });\n}","IDECodeSnippetIdentifier":"A5AEA3D2-5AC9-4ACE-B1C4-075983619EFF","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"exchange multiple method implementations in +load with QMUI","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"viewDidLayoutSubviews","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (void)viewDidLayoutSubviews {\n [super viewDidLayoutSubviews];\n <#code#>\n}","IDECodeSnippetIdentifier":"494D85BB-30BB-434A-9383-2B0CAD69B785","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"viewDidLayoutSubviews","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"snippetAlert","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"let alertController = UIAlertController(title: <#T##String?#>, message: <#T##String?#>, preferredStyle: <#T##UIAlertController.Style#>)\nlet firstAction = UIAlertAction(title: <#T##String?#>, style: .default, handler: <#T##((UIAlertAction) -> Void)?##((UIAlertAction) -> Void)?##(UIAlertAction) -> Void#>)\nlet cancelAction = UIAlertAction(title: <#T##String?#>, style: .cancel, handler: nil)\n\nalertController.addAction(firstAction)\nalertController.addAction(cancelAction)\npresent(alertController, animated: true)","IDECodeSnippetIdentifier":"8C458AD7-C631-457B-85CC-D2501E425D59","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"Creates an alert controller with two actions","IDECodeSnippetTitle":"UIAlertController","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swiftcheckplatform","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"#if os(iOS) || os(tvOS)\n <#code#>\n#elseif os(watchOS)\n <#code#>\n#elseif os(OSX)\n <#code#>\n#endif","IDECodeSnippetIdentifier":"89D8ABD7-A0CB-45D6-B354-6BC718E2955A","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"swiftcheckplatform","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"snippetViewDidLoad","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"override func viewDidLoad() {\n super.viewDidLoad()\n}","IDECodeSnippetIdentifier":"E9F203F3-98E1-4D99-801E-2E739E7792EB","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"viewDidLoad","IDECodeSnippetTitle":"viewDidLoad","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"psr","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"@property(nonatomic, strong, readonly) <#type#> *<#name#>;","IDECodeSnippetIdentifier":"7673BB72-6355-4D45-B6D7-E36B4A79C835","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"Property For Strong And Readonly","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swiftguardself","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"guard let `self` = self else {\n return\n}","IDECodeSnippetIdentifier":"FC0D62B1-F64B-47EB-A912-E0E6172B498A","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"swiftguardself","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"viewDidLoad","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (void)viewDidLoad {\n [super viewDidLoad];\n <#code#>\n}","IDECodeSnippetIdentifier":"2C6B159A-D934-44B7-B110-1BF1D4B89707","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"viewDidLoad","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"onDroFile","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":".onDrop(of: [.fileURL], isTargeted: $dragOver, perform: { providers in\n providers.first?.loadDataRepresentation(forTypeIdentifier: UTType.fileURL.identifier, completionHandler: { data, error in\n if let data = data, let path = String(data: data, encoding: .utf8), let url = URL(string: path as String) {\n <# do with url want you want #>\n }\n })\n return true\n})","IDECodeSnippetIdentifier":"A9B3781E-2368-453F-AB00-BAFC95DFC550","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"SwiftUI modifier to define a drop zone for files (requires a @State private var dragOver: Bool) ","IDECodeSnippetTitle":"Drop Zone handler for a SwiftUI view for files ","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"snippetViewDidAppear","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"override func viewDidAppear(_ animated: Bool) {\n super.viewDidAppear(animated)\n}","IDECodeSnippetIdentifier":"DB36A35F-4295-460D-93DD-14BAD2166A2E","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"viewDidAppear","IDECodeSnippetTitle":"viewDidAppear","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"didInitializeWithStyle_tableView","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (void)didInitializeWithStyle:(UITableViewStyle)style {\n [super didInitializeWithStyle:style];\n <##>\n}","IDECodeSnippetIdentifier":"B35A0A1F-EA35-4D3A-A579-5FA0E7DF2AA3","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"didInitializeWithStyle - QMUICommonTableViewController","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"__weakSelf","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"__weak __typeof(self)weakSelf = self;","IDECodeSnippetIdentifier":"1AD3496A-7B93-4B60-9C5D-E54FC734E544","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"weakSelf","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"pcr","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"@property(nonatomic, copy, readonly) <#type#> *<#name#>;","IDECodeSnippetIdentifier":"BE7A7A16-BA79-45AF-A62B-869A12C1E257","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"","IDECodeSnippetTitle":"Property For Copy And Readonly","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swift-ibo","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"@IBOutlet weak var <# OutletName #>: <# OutletType #>!","IDECodeSnippetIdentifier":"F0FAF3C5-71F4-4009-B09B-15FB3AE62C60","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"Stub out IBOutlet","IDECodeSnippetTitle":"IBOutlet","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"getMinX","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"CGRectGetMinX(<#CGRect rect#>)","IDECodeSnippetIdentifier":"1CDEB4B5-75D6-4F04-B8E6-BCEA1A54FE18","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"CGRectGetMinX","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"fnv_longPress","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (void)handleLongPressGestureRecognizer:(UILongPressGestureRecognizer *)gestureRecognizer {\n <#code#>\n}","IDECodeSnippetIdentifier":"880C4894-BB6F-4C9C-8758-6185CE801894","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetTitle":"创建longPress手势事件回调","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"extend_void_non_argv","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"ExtendImplementationOfVoidMethodWithoutArguments([<#targetClass#> class], @selector(<#targetSelector#>), ^(<#targetClass#> *selfObject) {\n <#custom extend#>\n });","IDECodeSnippetIdentifier":"61D9E89B-0189-4153-8FFA-7B8C2EE05F9D","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"Extend Implementation Of Void Return Non Argument","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swift-sortarrayofstrings","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"<#arrayOfStrings#>.sorted { (a, b) -> Bool in\n let comparisonResult = a.compare(b, options: [], range: a.range(of: a), locale: Locale.current)\n return comparisonResult == .orderedSame\n }","IDECodeSnippetIdentifier":"B005E7A7-789D-43C2-873A-0DD8040EE2B8","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"Swift String Array locale-aware sorting","IDECodeSnippetTitle":"Swift String Array locale-aware sorting","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swift-closureoptionaltypealias","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"typealias <#ClosureName#> = ((_ <#arguments#>: <#type#>) -> <#return value#>)?","IDECodeSnippetIdentifier":"1528A53D-69CA-4A12-908A-1F85A47A8644","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"Optional closure typealiast with arguments and return value snippet for Swift","IDECodeSnippetTitle":"Swift optional closure typealias","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swift-urlsession-delegate","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"let session = URLSession(configuration: .default, delegate: self, delegateQueue: nil)\nlet task = session.dataTask(with: <#request#>){ (data, response, error) in\n <#code#>\n}\ntask.resume()\n","IDECodeSnippetIdentifier":"B03099E0-1094-412E-BE86-5AC1BDB07315","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"Swift HTTP Request With Delegate set","IDECodeSnippetTitle":"Swift URLSession With Delegate","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"sizeThatFits","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (CGSize)sizeThatFits:(CGSize)size {\n CGSize resultSize = size;\n \n CGFloat resultWidth = <#0#>;\n resultSize.width = MIN(resultWidth, size.width);\n \n CGFloat resultHeight = <#0#>;\n resultSize.height = resultHeight;\n \n return resultSize;\n}","IDECodeSnippetIdentifier":"8BBED35F-461D-418F-A2E1-3CCF058B4814","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"sizeThatFits:","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"fnv:","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (void)<#method name#>:(<#argv type#>)<#argv#> {\n <#code#>\n}","IDECodeSnippetIdentifier":"36A99A40-AF77-4CCA-8FF3-E1587F48F239","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"创建一个返回值为空并且带参数的方法","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"localizedError","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"enum <# CustomEnum #>: Error {\n case <# customEnumCase #>\n}\n\nextension <# CustomEnum #>: LocalizedError {\n var errorDescription: String? {\n switch self {\n case .<# customEnumCase #>:\n return \"<# tbd #>\"\n }\n }\n\n var failureReason: String? {\n switch self {\n case .<# customEnumCase #>:\n return \"<# tbd #>\"\n }\n }\n\n var recoverySuggestion: String? {\n switch self {\n case .<# customEnumCase #>:\n return \"<# tbd #>\"\n }\n }\n}","IDECodeSnippetIdentifier":"D5B187FC-6E74-4FE5-A6FD-571327817A85","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"How to create a localized error enum","IDECodeSnippetTitle":"LocalizedError","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"override_return_two_argvs","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"OverrideImplementation([<#targetClass#> class], @selector(<#targetSelector#>), ^id(__unsafe_unretained Class originClass, SEL originCMD, IMP (^originalIMPProvider)(void)) {\n return ^<#returnType#>(<#targetClass#> *selfObject, <#argumentType1#> firstArgv, <#argumentType2#> secondArgv) {\n \n \/\/ call super\n <#returnType#> (*originSelectorIMP)(id, SEL, <#argumentType1#>, <#argumentType2#>);\n originSelectorIMP = (<#returnType#> (*)(id, SEL, <#argumentType1#>, <#argumentType2#>))originalIMPProvider();\n <#returnType#> result = originSelectorIMP(selfObject, originCMD, firstArgv, secondArgv);\n \n return <#custom override#>\n };\n });","IDECodeSnippetIdentifier":"03686901-F803-4AB2-82AB-BD507D7403DB","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"Override Implementation Of Non Void Return Two Arguments","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"ps","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"@property(nonatomic, strong) <#type#> *<#name#>;","IDECodeSnippetIdentifier":"C6CF2F16-53B9-4033-B217-89868A294BE8","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"Property For Strong","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"setFrame_QMUI","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"<#view#>.frame = CGRectFlatMake(<#CGFloat x#>, <#CGFloat y#>, <#CGFloat width#>, <#CGFloat height#>);","IDECodeSnippetIdentifier":"0E66F758-D976-483F-A71A-1B94A8ADA34A","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"set UIView frame with QMUI CGRectFlatMake","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"propertySwizzleStrong","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"static char kAssociatedObjectKey_<#property name#>;\n- (void)set<#property name#> {\n objc_setAssociatedObject(self, &kAssociatedObjectKey_<#property name#>, <#argument name#>, OBJC_ASSOCIATION_RETAIN_NONATOMIC);\n}\n\n- <#property getter#> {\n return (<#Property type#> *)objc_getAssociatedObject(self, &kAssociatedObjectKey_<#property name#>);\n}","IDECodeSnippetIdentifier":"11202851-7F95-4B80-9E01-ED9D300457E4","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"用swizzle方式创建strong类型的property的getter\/setter","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"extend_return_two_argvs","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"ExtendImplementationOfNonVoidMethodWithTwoArguments([<#targetClass#> class], @selector(<#targetSelector#>), <#argumentType1#>, <#argumentType2#>, <#returnType#>, ^<#returnType#>(<#targetClass#> *selfObject, <#argumentType1#> firstArgv, <#argumentType2#> secondArgv, <#returnType#> originReturnValue) {\n return <#custom extend#>;\n });","IDECodeSnippetIdentifier":"DFCA59C1-07E0-4857-AE4D-3C9045016712","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"Extend Implementation Of Non Void Return Two Arguments","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swiftsubscript","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"subscript(<#name#>: <#type#>) -> <#type#> {\n get {\n return <#value#>\n }\n set(newValue) {\n <#code#>\n }\n }","IDECodeSnippetIdentifier":"F50B2DAE-E6B0-464E-9369-EFDAF86F8A82","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"swiftsubscript","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"par","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"@property(nonatomic, assign, readonly) <#type#> <#name#>;","IDECodeSnippetIdentifier":"32E2254E-F2F6-419B-B581-B6885C95A62B","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"Property For Assign And Readonly","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"override_void_two_argvs","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"OverrideImplementation([<#targetClass#> class], @selector(<#targetSelector#>), ^id(__unsafe_unretained Class originClass, SEL originCMD, IMP (^originalIMPProvider)(void)) {\n return ^(<#targetClass#> *selfObject, <#argumentType1#> firstArgv, <#argumentType2#> secondArgv) {\n \n \/\/ call super\n void (*originSelectorIMP)(id, SEL, <#argumentType1#>, <#argumentType2#>);\n originSelectorIMP = (void (*)(id, SEL, <#argumentType1#>, <#argumentType2#>))originalIMPProvider();\n originSelectorIMP(selfObject, originCMD, firstArgv, secondArgv);\n \n <#custom override#>\n };\n });","IDECodeSnippetIdentifier":"BD790850-4DC6-4F53-AAB1-FF21AAE2BE74","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"Override Implementation Of Void Return Two Arguments","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swift-elegantmark","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\/\/MARK:-\n\/\/MARK:<#Section#>\n\/\/MARK:-\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n","IDECodeSnippetIdentifier":"76C4B4B4-1F7D-41D8-9CE2-0E4E36C668D0","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Generic","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"Decorates mark statements and makes it neat when looking through items in File Jump Bar","IDECodeSnippetTitle":"Elegant Mark","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"extend_void_single_argv","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"ExtendImplementationOfVoidMethodWithSingleArgument([<#targetClass#> class], @selector(<#targetSelector#>), <#argumentType#>, ^(<#targetClass#> *selfObject, <#argumentType#> firstArgv) {\n <#custom extend#>\n });","IDECodeSnippetIdentifier":"646E8309-8AE3-4E5B-BBBD-744958FBA30E","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"Extend Implementation Of Void Return Single Argument","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"numberOfSectionsInCollectionView","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView {\n return <#numberOfSections#>;\n}","IDECodeSnippetIdentifier":"BCBDF4CD-8EAD-48F7-A96A-8A48C188D1C2","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetTitle":"numberOfSectionsInCollectionView:","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"propertySwizzleWeak","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"static char kAssociatedObjectKey_<#property name#>;\n- (void)set<#property name#> {\n objc_setAssociatedObject(self, &kAssociatedObjectKey_<#property name#>, <#argument name#>, OBJC_ASSOCIATION_ASSIGN);\n}\n\n- <#property getter#> {\n return (<#Property type#> *)objc_getAssociatedObject(self, &kAssociatedObjectKey_<#property name#>);\n}","IDECodeSnippetIdentifier":"B696ADA0-4026-4954-A454-8B7B2FCE40BF","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"用swizzle方式创建weak类型的property的getter\/setter","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swift-message","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":" \/\/MARK: MFMessageComposeViewController\n\n func presentModalMessageComposeViewController(animated: Bool) {\n if MFMessageComposeViewController.canSendText() {\n let messageComposeVC = MFMessageComposeViewController()\n\n messageComposeVC.messageComposeDelegate = <#delegate#>\n messageComposeVC.body = \"<#body#>\"\n messageComposeVC.recipients = [<#recipients#>]\n\n present(messageComposeVC, animated: animated, completion: nil)\n\n } else {\n let alert = UIAlertController(title: NSLocalizedString(\"Error\", value: \"Error\", comment: \"\"),\n message: NSLocalizedString(\"Your device doesn't support messaging\", value: \"Your device doesn't support messaging\", comment: \"\"),\n preferredStyle: .alert)\n alert.addAction(UIAlertAction(title: NSLocalizedString(\"Cancel\", comment: \"Cancel\"), style: .cancel, handler: nil))\n present(alert, animated: true, completion: nil)\n }\n }\n\n func messageComposeViewController(controller: MFMessageComposeViewController!, didFinishWithResult result: MessageComposeResult) {\n dismiss(animated: true)\n }","IDECodeSnippetIdentifier":"3165F25A-E44B-4165-A15B-F04A47A0853D","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"MFMessageComposeViewController snippet for Swift","IDECodeSnippetTitle":"Swift MFMessageComposeViewController","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"didSelectItemAtIndexPath","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {\n <#code#>\n}","IDECodeSnippetIdentifier":"0790FF6C-A6AE-496F-B7E9-2C12432156EC","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetTitle":"didSelectItemAtIndexPath:","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"snippetUserDefaultsVariable","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"var <#name#>: <#Type#> {\n get {\n return <#method#>(forKey: #function)\n }\n set {\n set(newValue, forKey: #function)\n }\n}","IDECodeSnippetIdentifier":"A1519E53-062C-4761-A37B-808C752046C1","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"Add a variable of any Type to UserDefaults","IDECodeSnippetTitle":"snippetUserDefaultsVariable","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"override_void_non_argv","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"OverrideImplementation([<#targetClass#> class], @selector(<#targetSelector#>), ^id(__unsafe_unretained Class originClass, SEL originCMD, IMP (^originalIMPProvider)(void)) {\n return ^(<#targetClass#> *selfObject) {\n \n \/\/ call super\n void (*originSelectorIMP)(id, SEL);\n originSelectorIMP = (void (*)(id, SEL))originalIMPProvider();\n originSelectorIMP(selfObject, originCMD);\n \n <#custom override#>\n };\n });","IDECodeSnippetIdentifier":"3E175A3D-A137-4744-9754-2A28B66E20A1","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetTitle":"Override Implementation Of Void Return Non Argument","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"layoutSubviews","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (void)layoutSubviews {\n [super layoutSubviews];\n <#code#>\n}","IDECodeSnippetIdentifier":"1795B602-AC2C-46C8-900F-7157C26857EC","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetTitle":"layoutSubviews","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"updateConstraints","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (void)updateConstraints {\n <#code#>\n [super updateConstraints];\n}","IDECodeSnippetIdentifier":"6D8F1F97-6FDD-44F6-890D-BD590F3C5F8D","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetTitle":"updateConstraints","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swift-uiviewcontrollerlifecycle","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":" \/\/MARK: UIViewController lifecycle\n \n override func viewDidLoad() {\n super.viewDidLoad()\n \n }\n \n override func viewWillAppear(_ animated: Bool) {\n super.viewWillAppear(animated)\n\n }\n \n override func viewDidAppear(_ animated: Bool) {\n super.viewDidAppear(animated)\n\n }\n \n override func viewWillDisappear(_ animated: Bool) {\n super.viewWillDisappear(animated)\n\n }\n \n override func viewDidDisappear(_ animated: Bool) {\n super.viewDidDisappear(animated)\n\n }","IDECodeSnippetIdentifier":"7D773810-8010-450A-B8A1-E66A92969E25","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"UIViewController lifecycle snippet for Swift","IDECodeSnippetTitle":"Swift UIViewController lifecycle","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"viewWillAppear","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (void)viewWillAppear:(BOOL)animated {\n [super viewWillAppear:animated];\n <#code#>\n}","IDECodeSnippetIdentifier":"F9DAF84E-4DCA-4AEB-B90D-16B40624932B","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"viewWillAppear:","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"override_return_single_argv","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"OverrideImplementation([<#targetClass#> class], @selector(<#targetSelector#>), ^id(__unsafe_unretained Class originClass, SEL originCMD, IMP (^originalIMPProvider)(void)) {\n return ^<#returnType#>(<#targetClass#> *selfObject, <#argumentType#> firstArgv) {\n \n \/\/ call super\n <#returnType#> (*originSelectorIMP)(id, SEL, <#argumentType#>);\n originSelectorIMP = (<#returnType#> (*)(id, SEL, <#argumentType#>))originalIMPProvider();\n <#returnType#> result = originSelectorIMP(selfObject, originCMD, firstArgv);\n \n return <#custom override#>\n };\n });","IDECodeSnippetIdentifier":"56A38ADE-F1BD-4B31-81B5-EE230595C776","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"Override Implementation Of Non Void Return Single Argument","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swift-uicollectionviewdelegate","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":" \/\/MARK: UICollectionViewDelegate\n \n func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {\n \n }\n \n func collectionView(_ collectionView: UICollectionView, didDeselectItemAt indexPath: IndexPath) {\n \n }","IDECodeSnippetIdentifier":"695424DE-F323-475A-AC77-2010DDA924BB","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"UICollectionViewDelegate snippet for Swift","IDECodeSnippetTitle":"Swift UICollectionViewDelegate","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"initSubviews","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (void)initSubviews {\n [super initSubviews];\n <#code#>\n}","IDECodeSnippetIdentifier":"17B909FE-8769-4CD4-9C0E-5888E770FF00","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetTitle":"initSubviews","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"tableView_scrollNever","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"if (@available(iOS 11, *)) {\n self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;\n } else {\n self.automaticallyAdjustsScrollViewInsets = NO;\n }","IDECodeSnippetIdentifier":"4D8558EC-1D8E-4B11-9C69-50614951CA1F","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"","IDECodeSnippetTitle":"UITableView Scroll Never","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"static","IDECodeSnippetCompletionScopes":["TopLevel"],"IDECodeSnippetContents":"static <#type#> const k<#Name#> = <#value#>;","IDECodeSnippetIdentifier":"95ACDF4B-E74F-4A04-9774-8644C48E20DC","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"static const value","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"bindingUnwrap","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"extension Binding {\n func toUnwrapped<T>(defaultValue: T) -> Binding<T> where Value == T? {\n Binding<T>(get: { self.wrappedValue ?? defaultValue }, set: { self.wrappedValue = $0 })\n }\n}\n","IDECodeSnippetIdentifier":"251667DB-792F-4BEF-81AC-4B4E6DFB4A6B","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"Extension to unwrap an optional SwiftUI binding safely (w. default value)","IDECodeSnippetTitle":"SwiftUI.Binding.toUnwrapped","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swiftinitcoder","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"public required init?(coder aDecoder: NSCoder) {\n fatalError(\"init(coder:) has not been implemented\")\n }","IDECodeSnippetIdentifier":"3EB05EA7-4EDE-4480-A6C5-B15499A07B23","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"swiftinitcoder","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swift-uiremotenotification","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":" \/\/MARK: Remote Notifications\n \n \/\/ Move this line somewhere where your app starts\n\/\/ UIApplication.shared.registerForRemoteNotifications()\n \n \/\/ Ask user for allowed notification types\n\/\/\t let settings = UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)\n\/\/\t UIApplication.shared.registerUserNotificationSettings(settings)\n \n func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {\n print(\"Successfully egistered for Remote Notifications with token: \\(deviceToken)\")\n }\n \n func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) {\n print(\"Registration for Remote Notifications failed with error: \\(error)\")\n }\n \n func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any]) {\n \n }","IDECodeSnippetIdentifier":"0ADC5D4B-64A3-42B1-8A4D-5741D99D0714","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"UIRemoteNotification registration and handling snippet for Swift","IDECodeSnippetTitle":"Swift UIRemoteNotification","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"externValueInH","IDECodeSnippetCompletionScopes":["TopLevel"],"IDECodeSnippetContents":"extern const <#type#> <#name#>;","IDECodeSnippetIdentifier":"3F020BCC-5E6C-4538-A470-1E124BB4DBAE","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"","IDECodeSnippetTitle":"extern Value in *.h file","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"boldTitleItem","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"[UIBarButtonItem qmui_itemWithBoldTitle:<#(nullable NSString *)#> target:self action:@selector(<#selector name#>)];","IDECodeSnippetIdentifier":"5A3AB4AB-26DC-4402-BE47-D87BF8D620E0","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"Bold Title UIBarButtonItem","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swift-mark","IDECodeSnippetCompletionScopes":["TopLevel","ClassImplementation"],"IDECodeSnippetContents":"\/\/ MARK: - <#Section#>","IDECodeSnippetIdentifier":"7329708D-DA17-4129-A8F9-A780DFA5FAE1","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"Divider label for separating code into sections","IDECodeSnippetTitle":"Swift Mark:","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"viewDidAppear","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (void)viewDidAppear:(BOOL)animated {\n [super viewDidAppear:animated];\n <#code#>\n}","IDECodeSnippetIdentifier":"A9456DBA-B19F-41E2-B5E5-9928DAF8CCFE","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"viewDidAppear:","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swift-didbecomeactive","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"NotificationCenter.default.addObserver(self, selector: #selector(<#selector#>), name: NSNotification.Name.UIApplicationDidBecomeActive, object: nil)","IDECodeSnippetIdentifier":"DA8B025D-2EEA-4917-98FA-6ED8DCA1ED2B","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"UIApplicationDidBecomeActiveNotification observer snippet for Swift","IDECodeSnippetTitle":"Swift add DidBecomeActive notification observer","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"snippetViewDidDisappear","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"override func viewDidDisappear(_ animated: Bool) {\n super.viewDidDisappear(animated)\n}","IDECodeSnippetIdentifier":"F207F44C-10DF-4827-96FC-47D4A70D147A","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"viewDidDisappear","IDECodeSnippetTitle":"viewDidDisappear","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swift-urlsession-datatask","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"let session = URLSession.shared\nlet task = session.dataTask(with: <#request#>){ (data, response, error) in\n <#code#>\n}\ntask.resume()\n","IDECodeSnippetIdentifier":"DCE70F58-6A51-4C26-AF88-2F646406A746","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"Swift Simple HTTP Request","IDECodeSnippetTitle":"Swift URLSession DataTask","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"extend_return_single_argv","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"ExtendImplementationOfNonVoidMethodWithSingleArgument([<#targetClass#> class], @selector(<#targetSelector#>), <#argumentType#>, <#returnType#>, ^<#returnType#>(<#targetClass#> *selfObject, <#argumentType#> firstArgv, <#returnType#> originReturnValue) {\n return <#custom extend#>;\n });","IDECodeSnippetIdentifier":"D96EBFBE-EA27-4210-B9D4-8172B875559A","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"Extend Implementation Of Non Void Return Single Argument","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"fnblock","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (<#returnType#> (^)(<#parameterTypes#>))<#method name#> {\n <#code#>\n}","IDECodeSnippetIdentifier":"2967221D-E2CF-4AB4-9F96-FABDDC747F4F","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetTitle":"创建一个返回值为block类型的方法","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"snippetMarksModel","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"\/\/ MARK: - Attributes\n\n\/\/ MARK: - Initializers\n\n\/\/ MARK: - Parsers","IDECodeSnippetIdentifier":"11BC8CB4-A716-4E24-AEB8-B5A312FF56D7","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Generic","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"MARKs to use in your model or entity","IDECodeSnippetTitle":"Model MARKs","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"pwr","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"@property(nonatomic, weak, readonly) <#type#> *<#name#>;","IDECodeSnippetIdentifier":"3BDAAACA-931A-43D6-B7B4-A446285E098B","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"Property For Weak And Readonly","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"osif","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"if (@available(iOS <#15.0#>, *)) {\n <#statements#>\n}\n","IDECodeSnippetIdentifier":"EABDAB9C-966F-4442-B386-DFBAC52FF6D9","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetSummary":"","IDECodeSnippetTitle":"@available iOS","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"override_return_non_argv","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"OverrideImplementation([<#targetClass#> class], @selector(<#targetSelector#>), ^id(__unsafe_unretained Class originClass, SEL originCMD, IMP (^originalIMPProvider)(void)) {\n return ^<#returnType#>(<#targetClass#> *selfObject) {\n \/\/ call super\n <#returnType#> (*originSelectorIMP)(id, SEL);\n originSelectorIMP = (<#returnType#> (*)(id, SEL))originalIMPProvider();\n <#returnType#> result = originSelectorIMP(selfObject, originCMD);\n \n return <#custom override#>\n };\n});","IDECodeSnippetIdentifier":"728398A0-1FA7-4753-9456-7F071139D57D","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"Override Implementation Of Non Void Return Non Argument","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"blockproperty","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"@property(nonatomic, copy) <#returnType#> (^<#blockName#>)(<#parameterTypes#>);","IDECodeSnippetIdentifier":"B84470B1-B180-401B-8C53-43390D9124DA","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"Property For Block","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"externRefInM","IDECodeSnippetCompletionScopes":["TopLevel"],"IDECodeSnippetContents":"<#type#> *const <#name#> = <#value#>;","IDECodeSnippetIdentifier":"05ACBB91-A78D-402C-807A-47886AD29A07","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"extern Reference in *.m file","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"closeItem","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"[UIBarButtonItem qmui_closeItemWithTarget:self action:@selector(<#selector name#>)];","IDECodeSnippetIdentifier":"F68179BA-29CA-48D0-8F20-54CE21E05920","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Generic","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"","IDECodeSnippetTitle":"Close UIBarButtonItem","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"log","IDECodeSnippetCompletionScopes":["All","CodeBlock"],"IDECodeSnippetContents":"NSLog(@\"<##>\");","IDECodeSnippetIdentifier":"357607DE-337B-4943-8F27-9CA1EE722BF7","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"","IDECodeSnippetTitle":"NSLog","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swiftdispatchonce","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"let <#name#>: <#type#> = {\n return <#code#>\n}()","IDECodeSnippetIdentifier":"7E57ADC5-F0B2-4AD8-B879-238EBFE8957D","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"swiftdispatchonce","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"snippetPostObserver","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"NotificationCenter.default.post(name: <#T##NSNotification.Name#>, object: <#T##Any?#>, userInfo: <#T##[AnyHashable : Any]?#>)","IDECodeSnippetIdentifier":"6ADFF0B1-2CC7-4FFC-9414-3A4722374D50","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"Posts a notification with NSNotification.Name, object and userInfo","IDECodeSnippetTitle":"Post notification","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"setFrameXY","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"<#view#>.frame = CGRectSetXY(<#view#>.frame, <#x#>, <#y#>);","IDECodeSnippetIdentifier":"29616EC2-81E1-4AF5-8AD9-96DEED51B264","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"set UIView frame XY with QMUI CGRectSetXY","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"timeConsuming","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"CFTimeInterval startTime = CACurrentMediaTime();\n<#code here#>\nCFTimeInterval endTime = CACurrentMediaTime();\nCFTimeInterval consumingTime = endTime - startTime;\nNSLog(@\"耗时:%@\", @(consumingTime));","IDECodeSnippetIdentifier":"F03D957F-693E-464B-B5EE-579E045B81C1","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"耗时计算","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"setFrame","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"<#view#>.frame = CGRectMake(<#CGFloat x#>, <#CGFloat y#>, <#CGFloat width#>, <#CGFloat height#>)","IDECodeSnippetIdentifier":"55D23AA0-FB1C-46D5-898A-E83791641D1C","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetTitle":"set Frame","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"exchangeImplementation","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"+ (void)load {\n static dispatch_once_t onceToken;\n dispatch_once(&onceToken, ^{\n Class class = [self class];\n SEL originSelector = @selector(<#origin selector#>);\n SEL newSelector = @selector(<#new selector#>);\n Method oriMethod = class_getInstanceMethod(class, originSelector);\n Method newMethod = class_getInstanceMethod(class, newSelector);\n if (newMethod) {\n BOOL isAddedMethod = class_addMethod(class, originSelector, method_getImplementation(newMethod), method_getTypeEncoding(newMethod));\n if (isAddedMethod) {\n IMP oriMethodIMP = method_getImplementation(oriMethod) ?: imp_implementationWithBlock(^(id selfObject) {});\n const char *oriMethodTypeEncoding = method_getTypeEncoding(oriMethod) ?: \"v@:\";\n class_replaceMethod(class, newSelector, oriMethodIMP, oriMethodTypeEncoding);\n } else {\n method_exchangeImplementations(oriMethod, newMethod);\n }\n }\n });\n}","IDECodeSnippetIdentifier":"0219854F-3A75-483E-9F4A-EFA34646365E","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"用来写 exchange implementations 的 load 方法模板","IDECodeSnippetTitle":"exchange method implementations in +load","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"fnv_tap","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (void)handleTapGestureRecognizer:(UITapGestureRecognizer *)gestureRecognizer {\n <#code#>\n}","IDECodeSnippetIdentifier":"AC95589F-A1AE-4D8B-A753-4F6D9C5DBBE3","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetTitle":"创建tap手势事件回调","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"snippetSingleton","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"class <#SingletonClassName#> {\n static let shared = <#SingletonClassName#>()\n \n private init() {}\n}","IDECodeSnippetIdentifier":"3BE9278C-FB49-4D9F-AD5B-E61435D6DCA9","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"Creates a singleton class with a private init","IDECodeSnippetTitle":"Singleton class","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swift-mail","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":" \/\/MARK: MFMailComposeViewController\n\n func presentModalMailComposerViewController(animated: Bool) {\n if MFMailComposeViewController.canSendMail() {\n let mailComposeVC = MFMailComposeViewController()\n mailComposeVC.delegate = <#delegate#>\n\n mailComposeVC.setSubject(<#subject#>)\n mailComposeVC.setMessageBody(<#body#>, isHTML: true)\n mailComposeVC.setToRecipients([<#recipients#>])\n\n present(mailComposeVC, animated: animated, completion: nil)\n } else {\n let alert = UIAlertController(title: NSLocalizedString(\"Error\", value: \"Error\", comment: \"\"),\n message: NSLocalizedString(\"Your device doesn't support Mail messaging\", value: \"Your device doesn't support Mail messaging\", comment: \"\"),\n preferredStyle: .alert)\n alert.addAction(UIAlertAction(title: NSLocalizedString(\"Cancel\", comment: \"Cancel\"), style: .cancel, handler: nil))\n present(alert, animated: true, completion: nil)\n }\n }\n\n \/\/MARK: MFMailComposeViewControllerDelegate\n\n func mailComposeController(controller: MFMailComposeViewController!, didFinishWithResult result: MFMailComposeResult, error: NSError!) {\n\n if error != nil {\n print(\"Error: \\(error)\")\n }\n\n dismiss(animated: true)\n }","IDECodeSnippetIdentifier":"449FB7DE-54FE-4AFA-94AB-F7401AB5A5C8","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"MFMailComposeViewController snippet for Swift","IDECodeSnippetTitle":"Swift MFMailComposeViewController","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"externRefInH","IDECodeSnippetCompletionScopes":["TopLevel"],"IDECodeSnippetContents":"extern <#type#> *const <#name#>;","IDECodeSnippetIdentifier":"21FDCAF1-C5B5-4F0C-A9EE-895654127294","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"extern Reference in *.h file","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swift-uiapplicationdelegate","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {\n\n return true\n }\n \n func applicationWillResignActive(_ application: UIApplication) {\n \n }\n \n func applicationDidBecomeActive(_ application: UIApplication) {\n \n }\n \n func applicationWillEnterForeground(_ application: UIApplication) {\n \n }\n \n func applicationDidEnterBackground(_ application: UIApplication) {\n \n }\n \n func applicationWillTerminate(_ application: UIApplication) {\n \n }","IDECodeSnippetIdentifier":"CB10B10E-410C-4668-8B94-4322438AE77B","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"Commonly used app life cycle methods","IDECodeSnippetTitle":"Swift - UIApplication Delegate methods","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swift-iba","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":" @IBAction func <# FuncName #>(_ sender: AnyObject) {\n <# code #>\n }","IDECodeSnippetIdentifier":"A913F681-E983-4127-B303-EDAC5EDD48AA","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"Create IBAction method stub","IDECodeSnippetTitle":"IBAction","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"blockParameterInFunction","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"<#returnType#> (^<#blockName#>)(<#parameterTypes#>)","IDECodeSnippetIdentifier":"F0EEA7C4-643E-4347-BE1C-762B578B6929","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"C函数参数里的 block 声明","IDECodeSnippetTitle":"block as C function parameter","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swift-uicollectionviewdatasource","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":" \/\/MARK: UICollectionViewDataSource\n\n func numberOfSections(in collectionView: UICollectionView) -> Int {\n return <#numberOfSections#>\n }\n\t\n func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {\n\t \/\/ TODO:- Required Method\n return <#numberOfItems#>\n }\n\n\tfunc collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {\n let cell = collectionView.dequeueReusableCell(withReuseIdentifier: <#identifier#>, for: indexPath)\n configureCell(cell: cell, forItemAt: indexPath)\n\t \/\/ TODO:- Required Method\n return cell\n }\n\n func configureCell(cell: UICollectionViewCell, forItemAt indexPath: IndexPath) {\n\n }\n\n func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView {\n let view = collectionView.dequeueReusableSupplementaryView(ofKind: UICollectionElementKindSectionHeader, withReuseIdentifier: <#identifier#>, for: indexPath)\n return view\n }","IDECodeSnippetIdentifier":"5871FA36-D43A-4505-897B-B2D54B4C611B","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"UICollectionViewDataSource snippet for Swift","IDECodeSnippetTitle":"Swift UICollectionViewDataSource","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"updateViewConstraints","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (void)updateViewConstraints {\n <#code#>\n [super updateViewConstraints];\n}","IDECodeSnippetIdentifier":"22751980-797F-4ED0-8729-EB822E3C23A4","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetTitle":"updateViewConstraints","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swiftcheckversion","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"#if swift(>=3.0)\n <#code#>\n #elseif swift(>=2.2)\n <#code#>\n #elseif swift(>=2.1)\n <#code#>\n #endif","IDECodeSnippetIdentifier":"BFAE611C-AD34-48C0-9910-0A3F883DE3B5","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"swiftcheckversion","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"pw","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"@property(nonatomic, weak) <#type#> *<#name#>;","IDECodeSnippetIdentifier":"6CD5E87E-5EB3-4F2E-9C87-81F5BA9EA5FC","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"Property For Weak","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swiftavailable","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"@available(iOS 7, *)","IDECodeSnippetIdentifier":"4F4AC178-5A4C-4AB2-B08D-6549243282F7","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"swiftavailable","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"collectionViewDelegate","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView {\n return <#numberOfSections#>;\n}\n\n- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {\n return <#numberOfItemsInSection#>;\n}\n\n- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {\n \n UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:<#reuseIdentifier#> forIndexPath:indexPath];\n \n <#code#>\n \n return cell;\n}","IDECodeSnippetIdentifier":"880149F5-CC79-4CBB-B879-33C44C90C226","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetTitle":"UICollectionViewDelegate","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"rac_kvo","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"[RACObserve(<#object#>, <#property#>) subscribeNext:^(id x) {\n <##>\n }];","IDECodeSnippetIdentifier":"BEBAED0D-8043-4BFA-9ED6-75524C49E23B","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetTitle":"RAC KVO Observe","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"load_once","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"+ (void)load {\n static dispatch_once_t onceToken;\n dispatch_once(&onceToken, ^{\n <##>\n });\n}","IDECodeSnippetIdentifier":"9A2482AB-93D8-457A-8D67-221379784E4A","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"load dispatch once","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"setFrameX","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"<#view#>.frame = CGRectSetX(<#view#>.frame, <#x#>);","IDECodeSnippetIdentifier":"5BEF295B-A1FA-4AEB-8148-C9E14BD56B43","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"set UIView frame X with QMUI CGRectSetX","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"externValueInM","IDECodeSnippetCompletionScopes":["TopLevel"],"IDECodeSnippetContents":"const <#type#> <#name#> = <#value#>;","IDECodeSnippetIdentifier":"1063BE8C-95DF-44E4-B09A-60EAC0047FCC","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"extern Value in *.m file","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"getWidth","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"CGRectGetWidth(<#CGRect rect#>)","IDECodeSnippetIdentifier":"85AFEEE5-547B-4995-8E1D-03EF58452DE2","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetTitle":"CGRectGetWidth","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swift-singleton","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"static let shared : <#SingletonClass#> = <#SingletonClass#>()","IDECodeSnippetIdentifier":"D0964789-8FAA-4A94-8E5B-D5178137F102","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"Singleton pattern for Swift","IDECodeSnippetTitle":"Swift Singleton","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"dispatch_async_main","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"dispatch_async(dispatch_get_main_queue(), ^{\n <##>\n });","IDECodeSnippetIdentifier":"8B578048-CFFE-46DF-BB25-3DF5382557DB","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetTitle":"dispatch async main queue","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"swift-uitableviewdatasource","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":" \/\/MARK: UITableViewDataSource\n\n func numberOfSections(in tableView: UITableView) -> Int {\n return <#numberOfSections#>\n }\n\n func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {\n return <#numberOfRows#>\n }\n\n func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {\n let cell = tableView.dequeueReusableCell(withIdentifier: <#identifier#>, for: indexPath)\n configureCell(cell: cell, forRowAt: indexPath)\n return cell\n }\n\n func configureCell(cell: UITableViewCell, forRowAt indexPath: IndexPath) {\n\n }","IDECodeSnippetIdentifier":"380DBCD1-ECFB-4A8C-B7B2-DDE628A540E3","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"UITableViewDataSource snippet for Swift","IDECodeSnippetTitle":"Swift UITableViewDataSource","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"snippetAddObserver","IDECodeSnippetCompletionScopes":["All"],"IDECodeSnippetContents":"NotificationCenter.default.addObserver(<#T##observer: Any##Any#>, selector: <#T##Selector#>, name: <#T##NSNotification.Name?#>, object: <#T##Any?#>)","IDECodeSnippetIdentifier":"6C261186-38AD-4EEF-A73C-8A25EBB2B31A","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Swift","IDECodeSnippetPlatformFamily":"all","IDECodeSnippetSummary":"Creates an observer with selector, NSNotification.Name and object","IDECodeSnippetTitle":"Add observer","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"cellForItemAtIndexPath","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {\n \n UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:<#reuseIdentifier#> forIndexPath:indexPath];\n \n <#code#>\n \n return cell;\n}","IDECodeSnippetIdentifier":"7AAC0412-41B1-4200-815D-CD1ED79A05E0","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetTitle":"cellForItemAtIndexPath:","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"heightForRowAtIndexPath","IDECodeSnippetCompletionScopes":["ClassImplementation"],"IDECodeSnippetContents":"- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {\n return <#heightForRow#>;\n}","IDECodeSnippetIdentifier":"0240A193-5CFE-4805-9006-82DBFD69741F","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetTitle":"heightForRowAtIndexPath:","IDECodeSnippetUserSnippet":true},{"IDECodeSnippetCompletionPrefix":"setTitleColorForButton","IDECodeSnippetCompletionScopes":["CodeBlock"],"IDECodeSnippetContents":"[<#button#> setTitleColor:<#color#> forState:UIControlStateNormal];","IDECodeSnippetIdentifier":"FFCD7C84-551D-467B-938D-BB0B2E9A31AF","IDECodeSnippetLanguage":"Xcode.SourceCodeLanguage.Objective-C","IDECodeSnippetPlatformFamily":"iphoneos","IDECodeSnippetTitle":"set UIButton Title Color","IDECodeSnippetUserSnippet":true}]} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment