第一篇果然没人看呢...好吧...那就当笔记做吧...第一篇主要写的是生成了一个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的更多相关文章

  1. 那些年做过的 .NET Web 项目和 iOS 之路的一些思考

    从2010年3月份出来工作到2015年初,做过的大大小小的 .NET Web 项目如下: (1)售楼系统产品    「Role: Team Member」 (2)中弘合同管理系统    「Role: ...

  2. iOS GCD NSOperation NSThread等多线程各种举例详解(拷贝)

    2年多的iOS之路匆匆而过,期间也拜读来不少大神的博客,近来突然为自己一直做伸手党感到羞耻,是时候回馈社会.回想当年自己还是小白的时候,照着一些iOS多线程教程学,也只是照抄,只知其然.不知其所以然. ...

  3. 从零开始学IOS开发

    从今天开始开一个坑,由于业务变动,要开始学习IOS开发进行IOS app开发,其实鄙人本身就是一只菜鸟加大学狗,有过两年的C#,ASP.NET MVC,微信公众平台开发经验,一只在继续努力着,从大三下 ...

  4. Appium移动自动化测试之—基于java的iOS环境搭建

    本文仅供参考,同时感谢帮助我搭建环境的同事 操作系统的名称:Mac OS X操作系统的版本:10.12.6 接下来我们开始踏上搭建Appium+java+ios之路,本文只说个大概,毕竟本机已经装过了 ...

  5. Appium的iOS环境搭建

    操作系统的名称:Mac OS X操作系统的版本:10.13.3 xcode 版本:9.2 java 版本:java8_161 appium destop版本:1.7.3 接下来我们开始踏上搭建Appi ...

  6. 谈谈入门iOS的经验吧

    前言 近期忙完项目比較闲,想写一篇博客来分享一些自学iOS的心得体会,希望对迷茫的你有所帮助.博主非科班出身,一些计算机术语上的不专业欢迎大家指正. 我是学微电子的.大四的时候找了一家深圳的专业对口的 ...

  7. fir.im Weekly - 进击的 Swift

    最近 Swift 开源了,众开发者们欢呼雀跃.感谢开源,这是最好的时代.本期 fir.im Weekly 准备了一些关于 Swift 的"新鲜"干货分享,也包括一些优秀的 GitH ...

  8. 纪录我的iOS学习之路

    学习资料的网址 田伟宇(Casa Taloyum)有几篇介绍iOS架构的文章,一级棒!原博客链接. iOS应用架构谈 开篇 iOS应用架构谈 view层的组织和调用方案 iOS应用架构谈 网络层设计方 ...

  9. ReactNative新手学习之路04 组件化开发轮播图swiper支持安卓和IOS

    react native 新手之路04 组件化开发轮播图swiper支持安卓和IOS npm install react-native-carousel --save git 地址Properties ...

随机推荐

  1. pip install lxml出错解决

    初学Python各种版本问题,安装pip install lxml各种出错,解决方法:py -2 -m pip install wheel(PY3上我上个帖子已经标了),http://www.lfd. ...

  2. Unity使用Windows弹窗保存图片

    此功能都在类EditorUtility中(using UnityEditor;) 包括 OpenFilePanel打开文件窗口Displays the "open file" di ...

  3. 显示天气预报的Demo

    实现的效果如下所示: 代码如下: ViewController.h #import <UIKit/UIKit.h> @interface ViewController : UIViewCo ...

  4. python中的时间转换

    Python中的时间相关库有: datetime 和time. 主要形式有: datetime timestamp 相互转换: timestamp->datetime: dt = datetim ...

  5. 禁止复制放在js文件中

    1.使右键和复制失效 方法1: 在网页中加入以下代码: 复制代码代码如下: <script language="Javascript"> document.oncont ...

  6. 快快快!27个提升效率的iOS开源库推荐

    文章来源:http://www.csdn.net/article/2015-07-21/2825264-27-ios-open-source-libraries/1 我热爱开源,更喜爱那些花费宝贵的业 ...

  7. .NET 4.0 中超长路径超长文件名的问题

    1. 昨天开发中遇到一个问题,场景如下: 客户端从服务器下载一个文件并解压,客户端在使用后需要做清理操作(删除解压出来的文件),结果删除失败,抛出如下异常: The specified path, f ...

  8. MFC字符串转化成16进制

    //CString m_str = _T("11"); //USES_CONVERSION; //char *m_cc = T2A(m_str); //BYTE m_bb; //s ...

  9. python中几个常见的“黑盒子”之 列表list

    python常见的数据类型有:字符串,布尔类型,整数,浮点数,数字,日期,列表,元祖,字典.相信前面6个大家都非常的熟悉,但是对于python的列表,元祖,字典我有时候一直在想其内部的实现是怎么样子的 ...

  10. spring知识大全(4)

    5 Spring对事务的支持 一.AOP事务的含义: 事务当作一个切面,动态地织入到目标对象,形成一个代理对象. 二.Spring的事务机制 Spring支持声明式事务. Spring使用事务服务代理 ...