码迷,mamicode.com
首页 > 移动开发 > 详细

学习Coding-iOS开源项目日志(一)

时间:2016-03-21 07:04:26      阅读:387      评论:0      收藏:0      [点我收藏+]

标签:

前言:作为初级程序员,想要提高自己的水平,其中一个有效的学习方法就是学习别人好的项目。本篇开始会陆续更新本人对github上开源的一个很不错的项目的一点点学习积累。也就是,探究着别人写的源码,我学到了新的什么东西?本人愚拙,而且码龄不多,也就三年左右,水平不高,如有挫解,还望指正。本人乐爱学习,乐于分享,广结良缘,愿意交流。当然,高手可以飘过。

Coding-iOS项目网址:https://github.com/Coding/Coding-iOS 读者感兴趣的可以自己去下载,当然项目很多第三方框架是没有直接集成进来的,读者自行通过该项目的提示处理。

 技术分享

内容概要:

 

正文:

2016年3月21日

文件:BaseViewController.m

1、下面代码添加友盟统计,设置状态栏,代码设置竖屏。

 1 - (void)viewWillAppear:(BOOL)animated
 2 {
 3     [super viewWillAppear:animated];
 4     // hy:友盟统计,https://github.com/liyoro/UMAnalytics
 5     // hy:标哥的博客:http://www.henishuo.com/ios-umeng-push/
 6     [MobClick beginLogPageView:[NSString stringWithUTF8String:object_getClassName(self)]];
 7     // hy:设置状态栏
 8     [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];
 9 
10     // hy:如果不是竖屏、不支持竖屏或是横屏
11     if (self.interfaceOrientation != UIInterfaceOrientationPortrait
12         && !([self supportedInterfaceOrientations] & UIInterfaceOrientationMaskLandscapeLeft)) {
13         // hy:设置成竖屏
14         [self forceChangeToOrientation:UIInterfaceOrientationPortrait];
15     }
16 }
17 ......
18 - (void)forceChangeToOrientation:(UIInterfaceOrientation)interfaceOrientation{
19     [[UIDevice currentDevice] setValue:[NSNumber numberWithInteger:interfaceOrientation] forKey:@"orientation"];
20 }

文件:MobClick.h 是友盟统计的SDK接口文件。具体使用以后补充,先知道这个类是这么回事。

2、下面代码中用了Google Analytics。

关于集成这个Google Analytics的SDK学习的网站:https://www.raywenderlich.com/53459/google-analytics-ios (外国网站)

对应的国内翻译网站:https://www.raywenderlich.com/53459/google-analytics-ios

 1 - (void)viewDidLoad{
 2     [super viewDidLoad];
 3     self.view.backgroundColor = kColorTableBG;
 4     // hy:这里又代码设置竖屏
 5     if (self.interfaceOrientation != UIInterfaceOrientationPortrait
 6         && !([self supportedInterfaceOrientations] & UIInterfaceOrientationMaskLandscapeLeft)) {
 7         [self forceChangeToOrientation:UIInterfaceOrientationPortrait];
 8     }
 9     // hy:添加了google analytics,Google提供的免费的使用者分析服务
10     // GA
11     id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
12     [tracker set:kGAIScreenName value:[NSString stringWithUTF8String:object_getClassName(self)]];
13     [tracker send:[[GAIDictionaryBuilder createScreenView] build]];
14 }

 3、下面代码用了宏定义Debug打印模式

- (void)tabBarItemClicked{
    DebugLog(@"\ntabBarItemClicked : %@", NSStringFromClass([self class]));
}

然后我command+click跳转到下面代码:

1 #define DebugLog(s, ...) NSLog(@"%s(%d): %@", __FUNCTION__, __LINE__, [NSString stringWithFormat:(s), ##__VA_ARGS__])

然后我就自己创建新的Simple Project使用了一下:

技术分享

 2、文件夹:RDVTabBarController

因为在项目源码中,RootTabViewController : RDVTabBarController<RDVTabBarControllerDelegate>,所以进一步探索RDVTabBarController,发现这个是第三方框架

而且github上点赞量蛮高的,网址是:https://github.com/robbdimitrov/RDVTabBarController 。记录以后学习学习该源码做了什么?

 3、

学习Coding-iOS开源项目日志(一)

标签:

原文地址:http://www.cnblogs.com/goodboy-heyang/p/5300457.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!