我的iOS之路2
第一篇果然没人看呢...好吧...那就当笔记做吧...第一篇主要写的是生成了一个helloworld,可能也是和别人撞了,所以有点厌烦,连名字都改掉吧
好,开始写第二篇
之前做第一个应用程序的时候没有解释任何代码,只是照着写就是了,现在,我们得学一些关于objective-c的东西了
首先我们知道objective-c 是一个面向对象的语言,而C语言是一个面向过程的语言,为什么我们要用objective-c来写iOS程序呢,为什么不用C其实学了这些天我感觉objective-c==c+objective类库,其实就是一种类似c的新语法,然后应用这些已被封装好的类库来实现我们所需要的功能,我们知道苹果对自己的程序员是很照顾的,我在学习的过程中一直觉得是站在巨人的肩膀上进行编程,现在让我们看一下我们在使用objective-c过程中使用了那些内容.
首先说类
学过c#的一定是知道类的,类在我看来是面向对象思想中比较重要的一块内容了,因为他相当于我们面向对象的一个对象,而我们发现在objective-c中所有的对象(我看到过的)都是指针,也许没学过C的会觉得指针很痛苦,我会讲我的博客内容尽量按照c#的语法来讲,既然难懂,那就让我们直接创建一个类吧.我们可以使用终端,来创建一个.m文件

创建了第一个.m文件后,我们在这里写这个类

好,让我们生成了这个类,然后让我们来解释一下为什么这样做,在图片右边的是系统自带的终端,类似window的cmd其实我觉得可能也就我不熟这玩意儿,很多人应该都还是很清楚的,这个样式类似适应UNIX系统一样,文件需要靠代码来生成,具体怎么搞我这里就不做赘述了
我们要讲的是我们生成的这个类,我们生成了一个博客这样一个类,所以在@interface....@end之间我们定义了一个blog这样的类,在objective-c我还没看到那个类是不需要继承父类的,所以他的父类类型我们就先继承NSObject,而这个NSObject类是来自于apple自带提供的Foundation框架,这也就是我们在使用终端连接我们的.m文件的时候需要写-framework Foundation的原因,因为们的框架要应用系统所带的框架,而不是自己写的,当然这也是我们在头部写#import <Foundation/Foudation.h>的原因,而且我发现了一个诀窍,其实对于系统他又很多的框架的,在应用没个框架的时候我们发现,头部我们都是写这个框架的#import <名称/名称.h>,什么意思呢,我们找几个系统的框架
这即使系统框架的目录了,我们会发现,所有的框架都是.Framework结尾的,然后我们会发现几个重要框架,比如Cocoa.framework,Quartz.framework这些重要的框架,而我们如果要加载他只要使用他的名字加上他的名字.h这样的方式就行了,比如我要调用Quartz.framework,我只要写#import <Quartz/Quartz.h>就可以调用他了,而且#import比#include有一个优点,他会自动帮你查看是否有重复调用,以前我们使用#include来加载头文件的时候我们可能会调用多次同一个头文件,而现在#import就帮我们自动解决了这个烦恼...是不是觉得调用头文件变得方便了很多呢...
然后让我们来看类,类是什么,类就是一个对象集合,不多说了直接贴图

看完上面的图是不是觉得东西都清楚了很多...就先讲这么点,反正没人看就当做笔记了
我的iOS之路2的更多相关文章
- 那些年做过的 .NET Web 项目和 iOS 之路的一些思考
从2010年3月份出来工作到2015年初,做过的大大小小的 .NET Web 项目如下: (1)售楼系统产品 「Role: Team Member」 (2)中弘合同管理系统 「Role: ...
- iOS GCD NSOperation NSThread等多线程各种举例详解(拷贝)
2年多的iOS之路匆匆而过,期间也拜读来不少大神的博客,近来突然为自己一直做伸手党感到羞耻,是时候回馈社会.回想当年自己还是小白的时候,照着一些iOS多线程教程学,也只是照抄,只知其然.不知其所以然. ...
- 从零开始学IOS开发
从今天开始开一个坑,由于业务变动,要开始学习IOS开发进行IOS app开发,其实鄙人本身就是一只菜鸟加大学狗,有过两年的C#,ASP.NET MVC,微信公众平台开发经验,一只在继续努力着,从大三下 ...
- Appium移动自动化测试之—基于java的iOS环境搭建
本文仅供参考,同时感谢帮助我搭建环境的同事 操作系统的名称:Mac OS X操作系统的版本:10.12.6 接下来我们开始踏上搭建Appium+java+ios之路,本文只说个大概,毕竟本机已经装过了 ...
- Appium的iOS环境搭建
操作系统的名称:Mac OS X操作系统的版本:10.13.3 xcode 版本:9.2 java 版本:java8_161 appium destop版本:1.7.3 接下来我们开始踏上搭建Appi ...
- 谈谈入门iOS的经验吧
前言 近期忙完项目比較闲,想写一篇博客来分享一些自学iOS的心得体会,希望对迷茫的你有所帮助.博主非科班出身,一些计算机术语上的不专业欢迎大家指正. 我是学微电子的.大四的时候找了一家深圳的专业对口的 ...
- fir.im Weekly - 进击的 Swift
最近 Swift 开源了,众开发者们欢呼雀跃.感谢开源,这是最好的时代.本期 fir.im Weekly 准备了一些关于 Swift 的"新鲜"干货分享,也包括一些优秀的 GitH ...
- 纪录我的iOS学习之路
学习资料的网址 田伟宇(Casa Taloyum)有几篇介绍iOS架构的文章,一级棒!原博客链接. iOS应用架构谈 开篇 iOS应用架构谈 view层的组织和调用方案 iOS应用架构谈 网络层设计方 ...
- ReactNative新手学习之路04 组件化开发轮播图swiper支持安卓和IOS
react native 新手之路04 组件化开发轮播图swiper支持安卓和IOS npm install react-native-carousel --save git 地址Properties ...
随机推荐
- pip install lxml出错解决
初学Python各种版本问题,安装pip install lxml各种出错,解决方法:py -2 -m pip install wheel(PY3上我上个帖子已经标了),http://www.lfd. ...
- Unity使用Windows弹窗保存图片
此功能都在类EditorUtility中(using UnityEditor;) 包括 OpenFilePanel打开文件窗口Displays the "open file" di ...
- 显示天气预报的Demo
实现的效果如下所示: 代码如下: ViewController.h #import <UIKit/UIKit.h> @interface ViewController : UIViewCo ...
- python中的时间转换
Python中的时间相关库有: datetime 和time. 主要形式有: datetime timestamp 相互转换: timestamp->datetime: dt = datetim ...
- 禁止复制放在js文件中
1.使右键和复制失效 方法1: 在网页中加入以下代码: 复制代码代码如下: <script language="Javascript"> document.oncont ...
- 快快快!27个提升效率的iOS开源库推荐
文章来源:http://www.csdn.net/article/2015-07-21/2825264-27-ios-open-source-libraries/1 我热爱开源,更喜爱那些花费宝贵的业 ...
- .NET 4.0 中超长路径超长文件名的问题
1. 昨天开发中遇到一个问题,场景如下: 客户端从服务器下载一个文件并解压,客户端在使用后需要做清理操作(删除解压出来的文件),结果删除失败,抛出如下异常: The specified path, f ...
- MFC字符串转化成16进制
//CString m_str = _T("11"); //USES_CONVERSION; //char *m_cc = T2A(m_str); //BYTE m_bb; //s ...
- python中几个常见的“黑盒子”之 列表list
python常见的数据类型有:字符串,布尔类型,整数,浮点数,数字,日期,列表,元祖,字典.相信前面6个大家都非常的熟悉,但是对于python的列表,元祖,字典我有时候一直在想其内部的实现是怎么样子的 ...
- spring知识大全(4)
5 Spring对事务的支持 一.AOP事务的含义: 事务当作一个切面,动态地织入到目标对象,形成一个代理对象. 二.Spring的事务机制 Spring支持声明式事务. Spring使用事务服务代理 ...