(Translated by https://www.hiragana.jp/)
GitHub - QMUI/QMUI_iOS_CodeSnippets: 用于Xcode使用的iOS通用代码片段,其中也包含若干专用于QMUI iOS框架的代码片段。
Skip to content

よう于Xcode使用しようてきiOS通用つうようだい码片だん,其中也ちゅうや包含ほうがん若干じゃっかん专用于QMUI iOSかまちてきだい码片だん

License

Notifications You must be signed in to change notification settings

QMUI/QMUI_iOS_CodeSnippets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

qmui-ios-codesnippets

qmui-ios-codesnippets いち个 QMUI 团队日常にちじょう工作こうさくちゅう整理せいり出来できてきよう于 Xcode てき iOS 通用つうようだい码片だんしゅう,其中也ちゅうや包含ほうがん若干じゃっかん专用于 QMUI for iOS かまちてきだい码片だん

整理せいり这个だい码片だんしゅうてきはつ衷有以下いか几点:

  1. わが们发现由于 Xcode 本身ほんみてきこうのう不足ふそく,导致わが们经つねざいじゅううつし一些系统父类方法时容易忘了调用 super,从而现一些很难排查的诡异bug。
  2. Xcode 虽然ゆう模糊もこひきはいてきだい码提醒,ただしだい码提醒只のう帮你うつし方法ほうほうめい,而code snippets 还可以帮你填たかし一些默认的方法实现,あるもの直接ちょくせつうつり动光标到方法ほうほう体内たいないはぶけ几次こう操作そうさ
  3. 一些常用的写法本身语法可能比较复杂,难以记忆,れい如实现一个类てき单例、使用しよう swizzle じゅううつしけい统控けんてき方法ほうほう、block ざい不同ふどう地方ちほうてき语法不同ふどうとう
  4. 一些代码本身看似简单,ただしよし于特别常用じょうよう所以ゆえん使用しよう code snippets 以大だい节省时间。

使用しよう方式ほうしき

Xcode てき Code Snippets ぶんけんそん~/Library/Developer/Xcode/UserData/CodeSnippets 录,ただよう直接ちょくせつ *.codesnippets ぶんけんいた这个录下(わかぼつゆう自己じこ创建),じゅう启 Xcode そくせいこう

为了方便ほうべん更新こうしんけん直接ちょくせつはた QMUI iOS CodeSnippets clone いた这个录内(注意ちゅういざい CodeSnippets さと创建いち个 QMUI てき录,这里支持しじ录):

cd ~/Library/Developer/Xcode/UserData/CodeSnippets

CodeSnippets 录为そら:

git clone https://github.com/QMUI/QMUI_iOS_CodeSnippets.git ./

CodeSnippets 录不为空:

git init .
git remote add origin https://github.com/QMUI/QMUI_iOS_CodeSnippets.git
git pull origin master 

其中以 QM_ ぜん缀开头的ぶんけん通用つうようてき Code Snippets,以 QMUI_ ぜん缀开头的ぶんけん专用于 QMUI for iOS かまちてきだい码片だんざい下方かほうてきかいとし键汇总里,QMUI てきだい码片だんしょうかい以QMUIてき形式けいしき标记出来でき

注意ちゅうい,Xcode 对每いちだん Code Snippet ゆう规定适用てき语言(Objective-C、Objective-C++、Swift、...)かず作用さよういき(如 Class てき Interface てい义内、Class てき Implementation ない方法ほうほう体内たいない、...),所以ゆえん测试ぼうだん Code Snippet なまこう时请注意ちゅうい你当ぜん处于ひきはいてき位置いち

かいとし键汇总

NSObject

  • pa - てい义一个 assign てき property
  • par - てい义一个 assign, readonly てき property
  • pc - てい义一个 copy てき property
  • pcr - てい义一个 copy, readonly てき property
  • ps - てい义一个 strong てきproperty
  • psr - てい义一个 strong, readonly てきproperty
  • pw - てい义一个 weak てきproperty
  • pwr - てい义一个 weak, readonly てきproperty
  • load_once - 创建いち个带 dispatch_once てき +load 方法ほうほう
  • propertySwizzleAssign - よう swizzle てき方式ほうしきてい义一个 assign てきproperty
  • propertySwizzleCopy - よう swizzle てき方式ほうしきてい义一个 copy てきproperty
  • propertySwizzleStrong - よう swizzle てき方式ほうしきてい义一个 strong てきproperty
  • propertySwizzleWeak - よう swizzle てき方式ほうしきてい义一个 weak てきproperty
  • sharedInstance - 为当ぜん类创けん一个实现单例功能的 sharedInstance 方法ほうほう
  • exchangeImplementation - じゅううつしとうぜん类的 load 方法ほうほう并在其中よう swizzle がえ换方ほう实现
  • exchangeImplementation_QMUI - よう QMUI じゅううつしとうぜん类的 load 方法ほうほう并用 ExchangeImplementations() 函数かんすうがえ换方法的ほうてき实现
  • exchangeMultipleImplementations_QMUI - よう QMUI じゅううつしとうぜん类的 load 方法ほうほう并用 ExchangeImplementations() 函数かんすう批量がえ换多个方法的ほうてき实现
  • override_void_non_argv - よう QMUI てき OverrideImplementation() じゅううつし指定してい class てきぼう个无かえしかい值、无参すうてき方法ほうほう实现
  • override_void_single_argv - よう QMUI てき OverrideImplementation() おさむあらため指定してい class てきぼう个无かえしかい值、带一个参数的方法实现
  • override_void_two_argvs - よう QMUI てき OverrideImplementation() おさむあらため指定してい class てきぼう个无かえしかい值、带两个参すうてき方法ほうほう实现
  • override_return_non_argv - よう QMUI てき OverrideImplementation() おさむあらため指定してい class てきぼう个带かえしかい值、无参すうてき方法ほうほう实现
  • override_return_single_argv - よう QMUI てき OverrideImplementation() おさむあらため指定してい class てきぼう个带かえしかい值、带一个参数的方法实现
  • override_return_two_argvs - よう QMUI てき OverrideImplementation() おさむあらため指定してい class てきぼう个带かえしかい值、带两个参すうてき方法ほうほう实现
  • extend_void_non_argv - よう QMUI てき ExtendImplementationOfVoidMethodWithoutArguments() おさむあらため指定してい class てきぼう个无かえしかい值、无参すうてき方法ほうほう实现
  • extend_void_single_argv - よう QMUI てき ExtendImplementationOfVoidMethodWithSingleArgument() おさむあらため指定してい class てきぼう个无かえしかい值、带一个参数的方法实现
  • extend_void_two_argvs - よう QMUI てき ExtendImplementationOfVoidMethodWithTwoArguments() おさむあらため指定してい class てきぼう个无かえしかい值、带两个参すうてき方法ほうほう实现
  • extend_return_non_argv - よう QMUI てき ExtendImplementationOfNonVoidMethodWithoutArguments() おさむあらため指定してい class てきぼう个带かえしかい值、无参すうてき方法ほうほう实现
  • extend_return_single_argv - よう QMUI てき ExtendImplementationOfNonVoidMethodWithSingleArgument() おさむあらため指定してい class てきぼう个带かえしかい值、带一个参数的方法实现
  • extend_return_two_argvs - よう QMUI てき ExtendImplementationOfNonVoidMethodWithTwoArguments() おさむあらため指定してい class てきぼう个带かえしかい值、带两个参すうてき方法ほうほう实现

Block

  • blockParameterInMethod - 声明せいめいいち个用于 OC 方法ほうほうさんすうてき block
  • blockParameterInFunction - 声明せいめいいち个用于 C 函数かんすうさんすうてき block
  • blockproperty - 声明せいめいいち个用于 property てき block
  • blocktypedef - よう typedef てい义一个 block
  • blockvar - てい义一个作为局部变量的 block

Method & Function

  • fnv - てい义一个返回值为 void てき方法ほうほう
  • fnv: - てい义一个返回值为 void 且带さんすうてき方法ほうほう
  • fnblock - てい义一个返回值类型为 block てき方法ほうほう
  • fnv_handleEvent - てい义一个用于 UIControl 事件じけんかい调的方法ほうほう
  • fnv_longPress - てい义一个用于 UILongPressGestureRecognizer てきかい调方ほう(你就不用ふよう每次まいじ拼写个很长的しゅ名字みょうじりょう
  • fnv_pan - てい义一个用于 UIPanGestureRecognizer てきかい调方ほう
  • fnv_tap - てい义一个用于 UITapGestureRecognizer てきかい调方ほう

UIView

  • setFrame - 为 UIView 设置 frame
  • setFrame_QMUI - QMUI 使用しようぞうもと对齐てき CGRectFlatMake()UIView 设置 frame
  • setFrameX - QMUI 使用しよう CGRectSetX() おさむあらため UIView てき frame.origin.x
  • setFrameY - QMUI 使用しよう CGRectSetY() おさむあらため UIView てき frame.origin.y
  • setFrameXY - QMUI 使用しよう CGRectSetXY() おさむあらため UIView てき frame.origin
  • sizeThatFits - 为当ぜん view 创建 sizeThatFits: 方法ほうほう
  • layoutSubviews - てんlayoutSubviews 方法ほうほう
  • updateConstraints - てんupdateConstraints 方法ほうほう
  • getWidth - てんCGRectGetWidth()
  • getHeight - てんCGRectGetHeight()
  • getMinX - てんCGRectGetMinX()
  • getMinY - てんCGRectGetMinY()
  • addtarget - 调用 UIControl addTarget:action:forEvents: 方法ほうほう
  • setImageForButton - 为 UIButton 设置图片
  • setTitleColorForButton - 为 UIButton 设置文字もじ颜色
  • setTitleForButton - 为 UIButton 设置文字もじ

UITableView

  • initWithStyle - てんinitWithStyle: 方法ほうほう
  • initWithStyleForCell - てんUITableViewCell initWithStyle:reuseIdentifier: 方法ほうほう
  • tableViewDelegate - てん常用じょうようてき几个 UITableViewDelegate 方法ほうほう
  • numberOfSectionsInTableView - てんnumberOfSectionsInTableView:方法ほうほう
  • numberOfRowsInSection - てんtableView:numberOfRowsInSection: 方法ほうほう
  • cellForRowAtIndexPath - てんtableView:cellForRowAtIndexPath: 方法ほうほう
  • heightForRowAtIndexPath - てんtableView:heightForRowAtIndexPath: 方法ほうほう
  • didSelectRowAtIndexPath - てんtableView:didSelectRowAtIndexPath: 方法ほうほう

UICollectionView

  • collectionViewDelegate - てん常用じょうようてき几个UICollectionViewDelegate 方法ほうほう
  • numberOfSectionsInCollectionView - てんnumberOfSectionsInCollectionView:
  • numberOfItemsInSection - てんcollectionView:numberOfItemsInSection:
  • cellForItemAtIndexPath - てんcollectionView:cellForItemAtIndexPath:
  • sizeForItemAtIndexPath - てんcollectionView:layout:sizeForItemAtIndexPath: 方法ほうほう
  • didSelectItemAtIndexPath - てんcollectionView:didSelectItemAtIndexPath: 方法ほうほう
  • didDeselectItemAtIndexPath - てんcollectionView:didDeselectItemAtIndexPath: 方法ほうほう

UIViewController

  • initWithNib - てんinitWithNibName:bundle: 方法ほうほう
  • didInitialize - てん开某些 QMUI ひかえけん提供ていきょうてき didInitialize 方法ほうほう
  • didInitializeWithStyle - てん开 QMUICommonTableViewController てき didInitializeWithStyle: 方法ほうほう
  • loadView - てんloadView 方法ほうほう
  • viewDidLoad - てんviewDidLoad 方法ほうほう
  • viewWillAppear - てんviewWillAppear: 方法ほうほう
  • viewDidAppear - てんviewDidAppear: 方法ほうほう
  • viewWillDisappear - てんviewWillDisappear: 方法ほうほう
  • viewDidDisappear - てんviewDidDisappear: 方法ほうほう
  • viewDidLayoutSubviews - てんviewDidLayoutSubviews: 方法ほうほう
  • updateViewConstraints - てんupdateViewConstraints: 方法ほうほう
  • addChildViewController - ざいとうまえ UIViewController さと添加てんか childViewController
  • removeFromParentViewController - しょう childViewController 从当まえてき UIViewController さとうつりじょ
  • initSubviews - QMUI てんinitSubviews 方法ほうほう
  • setupNavigationItems - QMUI じゅううつし QMUICommonViewController さとてき setupNavigationItems 方法ほうほう
  • setupToolbarItems - QMUI じゅううつし QMUICommonViewController さとてき setupToolbarItems 方法ほうほう

UIBarButtonItem

  • backItem - よう QMUI 方法ほうほう生成せいせい一个返回按钮
  • boldTitleItem - よう QMUI 方法ほうほう生成せいせい一个文字加粗的导航栏按钮
  • closeItem - よう QMUI 方法ほうほう生成せいせい一个导航栏上的关闭图标按钮
  • imageItem - よう QMUI 方法ほうほう生成せいせい一个导航栏上的图片按钮
  • titleItem - よう QMUI 方法ほうほう生成せいせい一个导航栏上的文字按钮

Other

  • pragma - てん开一个用于 Xcode 导航てき #pragma mark - ひろし
  • log - てんNSLog(@"xxx")
  • osif - てん开一个 @available(iOS xxx, *) てき if 判断はんだん
  • externRefInH - ざい *.h ぶんけんさと声明せいめいいちextern const てきゆび
  • externRefInM - ざい *.m ぶんけんさと为一个 extern const てきゆび针赋值
  • externValueInH - ざい *.h ぶんけんさと声明せいめいいちextern const てき值变りょう
  • externValueInM - ざい *.m ぶんけんさと为一个 extern const てき变量赋值
  • static reference - てい义一个 static てきゆび
  • static - てい义一个 static てき值变りょう
  • __weakSelf - てい义一个 weak てき self ゆび
  • __strongSelf - しょう weakSelf ゆび针改为 strong てき self ゆび
  • logCallStackSymbols - よう NSLog 打出うちでとうまえてき方法ほうほう调用栈信いき
  • timeConsuming - てんいちだんよう CACurrentMediaTime() らい计算方法ほうほう耗时てきだい

About

よう于Xcode使用しようてきiOS通用つうようだい码片だん,其中也ちゅうや包含ほうがん若干じゃっかん专用于QMUI iOSかまちてきだい码片だん

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published