您的位置:首页 > 其它

2015-8-12

2015-08-12 00:00 246 查看
摘要: 要点总结:

1.看一下 UIKit.h 标准库,以进一步全面熟悉 iOS;

2.熟悉下 C语言标准函数库,以少走弯路.

3.定义常量,不一定非要用 define.

4.推荐的书

5.iOS 函数支持可变参数的语法.

6.Swift 2.0 中文文档

要点总结:

1.看一下 UIKit.h 标准库,以进一步全面熟悉 iOS;

2.熟悉下 C语言标准函数库,以少走弯路.

3.定义常量,不一定非要用 define.

4.推荐的书

5.iOS 函数支持可变参数的语法.

6.Swift 2.0 中文文档

看一下 UIKit.h 标准库,以进一步全面熟悉 iOS;

//
// UIKit.h
// UIKit
//
// Copyright (c) 2005-2014 Apple Inc. All rights reserved.
//

#import <UIKit/UIKitDefines.h>
#import <UIKit/UIAccelerometer.h>
#import <UIKit/UIAccessibility.h>
#import <UIKit/UIActivityIndicatorView.h>
#import <UIKit/UIActivity.h>
#import <UIKit/UIActivityItemProvider.h>
#import <UIKit/UIActivityViewController.h>
#import <UIKit/UIActionSheet.h>
#import <UIKit/UIAlertController.h>
#import <UIKit/UIAlertView.h>
#import <UIKit/UIAppearance.h>
#import <UIKit/UIApplication.h>
#import <UIKit/UIBarButtonItem.h>
#import <UIKit/UIBarItem.h>
#import <UIKit/UIBezierPath.h>
#import <UIKit/UIButton.h>
#import <UIKit/UICollectionView.h>
#import <UIKit/UICollectionViewCell.h>
#import <UIKit/UICollectionViewController.h>
#import <UIKit/UICollectionViewFlowLayout.h>
#import <UIKit/UICollectionViewLayout.h>
#import <UIKit/UICollectionViewTransitionLayout.h>
#import <UIKit/UIColor.h>
#import <UIKit/UIControl.h>
#import <UIKit/UIDataDetectors.h>
#import <UIKit/UIDatePicker.h>
#import <UIKit/UIDevice.h>
#import <UIKit/UIDocument.h>
#import <UIKit/UIDocumentInteractionController.h>
#import <UIKit/UIDocumentPickerViewController.h>
#import <UIKit/UIDocumentMenuViewController.h>
#import <UIKit/UIDocumentPickerExtensionViewController.h>
#import <UIKit/NSFileProviderExtension.h>
#import <UIKit/UIVisualEffectView.h>
#import <UIKit/UIEvent.h>
#import <UIKit/UIFont.h>
#import <UIKit/UIFontDescriptor.h>
#import <UIKit/UIGeometry.h>
#import <UIKit/UIGestureRecognizer.h>
#import <UIKit/UIGraphics.h>
#import <UIKit/UIImage.h>
#import <UIKit/UIImageAsset.h>
#import <UIKit/UIImagePickerController.h>
#import <UIKit/UIImageView.h>
#import <UIKit/UIInputView.h>
#import <UIKit/UIInputViewController.h>
#import <UIKit/UIInterface.h>
#import <UIKit/UILabel.h>
#import <UIKit/UILexicon.h>
#import <UIKit/UILocalNotification.h>
#import <UIKit/UIUserNotificationSettings.h>
#import <UIKit/UILocalizedIndexedCollation.h>
#import <UIKit/UILongPressGestureRecognizer.h>
#import <UIKit/UIManagedDocument.h>
#import <UIKit/UIMenuController.h>
#import <UIKit/UIMotionEffect.h>
#import <UIKit/UINavigationBar.h>
#import <UIKit/UINavigationController.h>
#import <UIKit/UINib.h>
#import <UIKit/UINibDeclarations.h>
#import <UIKit/UINibLoading.h>
#import <UIKit/UIPageControl.h>
#import <UIKit/UIPageViewController.h>
#import <UIKit/UIPanGestureRecognizer.h>
#import <UIKit/UIPasteboard.h>
#import <UIKit/UIPickerView.h>
#import <UIKit/UIPinchGestureRecognizer.h>
#import <UIKit/UIPopoverController.h>
#import <UIKit/UIPopoverBackgroundView.h>
#import <UIKit/UIPrinter.h>
#import <UIKit/UIPrinterPickerController.h>
#import <UIKit/UIPrintError.h>
#import <UIKit/UIPrintFormatter.h>
#import <UIKit/UIPrintInfo.h>
#import <UIKit/UIPrintInteractionController.h>
#import <UIKit/UIPrintPageRenderer.h>
#import <UIKit/UIPrintPaper.h>
#import <UIKit/UIProgressView.h>
#import <UIKit/UIReferenceLibraryViewController.h>
#import <UIKit/UIRefreshControl.h>
#import <UIKit/UIResponder.h>
#import <UIKit/UIRotationGestureRecognizer.h>
#import <UIKit/UIScreen.h>
#import <UIKit/UIScreenEdgePanGestureRecognizer.h>
#import <UIKit/UIScreenMode.h>
#import <UIKit/UIScrollView.h>
#import <UIKit/UISearchBar.h>
#import <UIKit/UISearchController.h>
#import <UIKit/UISearchDisplayController.h>
#import <UIKit/UISegmentedControl.h>
#import <UIKit/UISlider.h>
#import <UIKit/UISplitViewController.h>
#import <UIKit/UIStepper.h>
#import <UIKit/UIStoryboard.h>
#import <UIKit/UIStoryboardPopoverSegue.h>
#import <UIKit/UIStoryboardSegue.h>
#import <UIKit/UIStringDrawing.h>
#import <UIKit/UISwipeGestureRecognizer.h>
#import <UIKit/UISwitch.h>
#import <UIKit/UITabBar.h>
#import <UIKit/UITabBarController.h>
#import <UIKit/UITabBarItem.h>
#import <UIKit/UITableView.h>
#import <UIKit/UITableViewHeaderFooterView.h>
#import <UIKit/UITableViewCell.h>
#import <UIKit/UITableViewController.h>
#import <UIKit/UITapGestureRecognizer.h>
#import <UIKit/UITextChecker.h>
#import <UIKit/UITextField.h>
#import <UIKit/UITextInput.h>
#import <UIKit/UITextInputTraits.h>
#import <UIKit/UITextView.h>
#import <UIKit/UIToolbar.h>
#import <UIKit/UITouch.h>
#import <UIKit/UITraitCollection.h>
#import <UIKit/UIVideoEditorController.h>
#import <UIKit/UIView.h>
#import <UIKit/UIViewController.h>
#import <UIKit/UIWebView.h>
#import <UIKit/UIWindow.h>
#import <UIKit/NSAttributedString.h>
#import <UIKit/NSLayoutConstraint.h>
#import <UIKit/NSLayoutManager.h>
#import <UIKit/NSParagraphStyle.h>
#import <UIKit/NSShadow.h>
#import <UIKit/NSStringDrawing.h>
#import <UIKit/NSText.h>
#import <UIKit/NSTextAttachment.h>
#import <UIKit/NSTextContainer.h>
#import <UIKit/NSTextStorage.h>
#import <UIKit/UIStateRestoration.h>
#import <UIKit/UIViewControllerTransitioning.h>
#import <UIKit/UIViewControllerTransitionCoordinator.h>
#import <UIKit/UIPresentationController.h>
#import <UIKit/UIPopoverPresentationController.h>
#import <UIKit/UIDynamicAnimator.h>
#import <UIKit/UIDynamicBehavior.h>
#import <UIKit/UIPushBehavior.h>
#import <UIKit/UISnapBehavior.h>
#import <UIKit/UIDynamicItemBehavior.h>
#import <UIKit/UIGravityBehavior.h>
#import <UIKit/UIAttachmentBehavior.h>

#import <UIKit/UICollisionBehavior.h>

熟悉下 C语言标准函数库,以少走弯路.

http://ganquan.info/standard-c/

定义常量,不一定非要用 define.

//
// Constants.h
// 读书
//
// Created by 颜风 on 15/8/11.
// Copyright (c) 2015年 颜风. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

// extern 是必须得,否则会编译失败.如有c或者c++混合的话,可能使用FOUNDATION_EXPORT 来代替 extern
extern NSString * const MyOwnConstant;
extern NSString * const YetAnotherConstant;

// 无法直接定义 UIView 常量,但是可以通过定义 block 常量,间接得到此效果.

extern UIView * (^BlockConst)();

//
// Constants.m
// 读书
//
// Created by 颜风 on 15/8/11.
// Copyright (c) 2015年 颜风. All rights reserved.
//

#import "Constants.h"

NSString * const MyOwnConstant = @"myOwnConstant";
NSString * const YetAnotherConstant = @"yetAnotherConstant";
UIView * (^BlockConst)() = ^{
// 可以用来实现单例(⊙o⊙)
static UIView * view;
view = [[UIView alloc] initWithFrame: CGRectMake(0, 0, 100, 100)];
view.backgroundColor = [UIColor redColor];

return view;

};

推荐的书:

<<重构: 改善既有代码的设计>>(Martin Fowler), <<设计模式: 可复用面向对象软件的基础>>(Erich Gamma)

iOS 函数支持可变参数的语法.

注意: 约定末尾应以 nil 结束输入.

- (NSArray *)variableParams: (NSString *) paramOne, ...

{
if (nil == paramOne) {
return nil;
}

NSMutableArray * paramArray = [NSMutableArray arrayWithObject: paramOne];

va_list arg_ptr;
NSString * paramOther = nil;

va_start(arg_ptr, paramOne);

for (;;) {
paramOther = va_arg(arg_ptr, id);

if (nil != paramOther) {
[paramArray addObject: paramOther];
}else{
va_end(arg_ptr);
break;
}
}

return paramArray;

}

Swift 2.0 中文文档

http://wiki.jikexueyuan.com/project/swift/chapter2/23_Generics.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: