Skip to content

Instantly share code, notes, and snippets.

@MarcoEidinger
Last active June 19, 2022 20:01
Show Gist options
  • Select an option

  • Save MarcoEidinger/d716f1264d936e0615f6ed8c3dc34c0a to your computer and use it in GitHub Desktop.

Select an option

Save MarcoEidinger/d716f1264d936e0615f6ed8c3dc34c0a to your computer and use it in GitHub Desktop.
Snippets.json example
{"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