我的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 ...
随机推荐
- char类型输出地址
问题描述: 当输出char的地址时,发现输出的是一个字符: char ch = 'a'; cout<<&ch<<endl;//a @ 因为cout得到一个char类型的 ...
- PTA Strongly Connected Components
Write a program to find the strongly connected components in a digraph. Format of functions: void St ...
- Xml与DataTable相互转换方法
1.Xml与DataTable相互转换方法:http://www.cnblogs.com/lilin/archive/2010/04/18/1714927.html
- Android Studio使用org.apache.http报错
Android Studio使用org.apache.http报错需要加上这句话:useLibrary 'org.apache.http.legacy'
- jQuery Mobile 可折叠
可折叠的内容块 可折叠(Collapsibles)允许您隐藏或显示内容 - 对于存储部分信息很有用. 如需创建可折叠的内容块,请向某个容器分配 data-role="collapsible& ...
- TFS 服务端默认端口更改
由于服务商限制8080,为了外网能访问.如果可以做映射还好.如果不能那就修改默认端口 以下为网上资源 安装完Team Foundation Server 2005 后,默认的端口是8080.如果想要事 ...
- [z]START WITH CONNECT BY PRIOR子句实现递归查询
[z]http://jingyan.baidu.com/article/5d368d1e182bb93f60c05784.html START WITH CONNECT BY PRIOR这个语法主要用 ...
- 清空IE缓存
1.打开IE Internet选项 点击设置 2.打开临时文件 点击 查看文件 将目录下的 文件全部删除 重新打开网站即可 到此IE缓存就被删除.
- Ant: Class not found: javac1.8
今天用ant,在选择build.xml,run as ant build后出错Ant: Class not found: javac1.8 分析问题:是否是eclipse中的ant版本和java的版本 ...
- android中ColorStateList及StateListDrawable设置Selector
写过android的代码相信大家对Selector并不陌生吧,下面来看看这段xml文件是如何定义的 <?xml version="1.0" encoding="ut ...