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
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
相关文章推荐
- java调用身份证接口查询
- 9秒学院关于教育类游戏开发现状的研究
- maven构建多模块项目
- struts1_DispatchAction 可以同时处理多个请求的Action
- struts1_MappingDispatchAction
- struts1——指定多个配置文件(struts-config.xml)
- struts1——动态formbean
- struts1——Validator框架的校验过程
- 很棒的一篇文章,值得学习
- 数据库堵了?还是被堵了?
- eclipseRCP深入浅出(学习总结)2015.08.11
- 实现自定义对话框中的属性动画-续
- Django-视图和URl配置
- django-模版
- 容易得的五种病,你躺枪了吗
- 解决session冲突的问题
- 千锋扣丁学堂 如何学习android高级编程
- 千锋扣丁学堂 七夕活动等你来参加
- 公司业绩关键地点
- 流媒体高清视频校园直播点播