IOS开发---菜鸟学习之路--(一)

简介: PS(废话):   看了那么多的博客文章,发现大部分人都一直在强调写技术博客的重要性,索性自己也耐着性子写写看吧。   写博客的重要性之类的说明,我就不做复制黏贴的工作了。因为自己没有写过多少,所也不清楚是不是真的能象他们说的那样有那么多的好处。

PS(废话):

  看了那么多的博客文章,发现大部分人都一直在强调写技术博客的重要性,索性自己也耐着性子写写看吧。

  写博客的重要性之类的说明,我就不做复制黏贴的工作了。因为自己没有写过多少,所也不清楚是不是真的能象他们说的那样有那么多的好处。

  好了废话不多说了。直接开始正文吧

正文:

  此文主要描写的内容,就是讲述一下我自己是怎么样从零开始,学习IOS 开发,然后到目前为止的一步步路程(经验的总结)吧。虽然目前还没有一个完整的客户端,但是也快要完成了。

  开发环境啊什么的我就不多说了。

  有能力的人。就苹果的电脑吧。没有的话就虚拟机以及黑苹果吧。

  开发工具的话使用的是XCODE

  语言objective-c

  这些基础的准备内容。网上有很多。我这边就不做重复的讲解了。(纯粹本人懒。哈哈)

  观看本文的话首先要有一定的objective-c 语法基础。起码要知道如何定义类,定义属性,定义方法等。

   桔子的书还是不错的。建议大家可以去买来看下。

  我这边的内容可能写出来有点误人子弟。(不过对于纯粹只是想先尝试下IOS开发的人来说应该还是可以的)

  开篇基本就这么多了。(对于有objective-c基础的人而言)

没有objective-c基础的人请继续下去看。有了的话就可以点击返回期待下一篇了。

 写IOS程序的话一共会包含三个文件 分别是 .h 文件  .m文件 .xib文件(老的IOS项目为.nib文件)学的比较早的人称该文件为'尼be' 文件  也就是 'nib'的发音.虽然现在是xib 但是他们还是习惯的用老的称呼.所以大家在听到 他们讲NIB文件的时候其实就是指的XIB文件

然后来讲一下三个文件的作用.

.h文件 为声明文件 (所有的声明都放在这里.如果外部需要调用该类的方法的话那么就需要在这里定义方法名)

.m文件 实际的代码编写文件

.xib文件  可视化编辑界面.直接可以在里面拖拉控件排版.

(PS:本人是做.net的主要 所以可能之后很多地方会于C#进行比较着来讲解,如果看不懂请见谅.)

#import <UIKit/UIKit.h>

@interface LookInfoModelCell : UITableViewCell
{
    UILabel *contentlabel;//定义属性
    UILabel *typelabel;
}
@property(nonatomic,retain) IBOutlet UILabel *contentlabel;//定义属性
@property(nonatomic,retain) IBOutlet UILabel *typelabel;
@end

上面这段代码是.h内的代码

大家可以稍微了解一下..当然我这边是建议大家还是去稍微学习下objective-c内容比较好.因为我目前的阶段是 只知道 这么写.这么用的地步.

首先在类名的大括号下面定义 变量

定义的方式跟 C#一样

 类型   变量名

如果是普通的BOOL  INT等类型  变量名前面是不需要加 *的 

如果是NSSTRING 或者其他类型的就需要在变量名前面加* 也就是

类名 *变量名

下面的 

@property(nonatomic,retain) IBOutlet UILabel *contentlabel;

这边的语法呢 

我具体的是什么东西已经忘了.反正目前就是按照这个格式写就对了

同样的 如果是普通的BOOL  INT等类型  就不需要加retain

否则的话就需要加retain 

retain这边是做内存管理用的东西

大家想深入了解的就可以去了解下

然后IBOutlet  这句的话就用是 如果有对应的.xib文件的话  同时我们在xib文件里也拖拽了一个相同类型的控件

就可以选择按住CTRL然后右键链接的方式 建立关联.

简单来讲 就用来声明是否与xib文件中的文件可以关联,如果关联的话 就要进行关联操作.

进行了关联操作之后.那么在.m文件中.对该变量进行的操作 就会直接影响xib文件中相对应的控件

有点类似于 大家写.net的时候 在windowfrom里面直接拖拉控件 然后定义了控件名,之后就可以直接在.cs文件里面操作

(xxxlabel.text="XXX")这样的感觉

而如果不加关联的话 就类似于在.CS文件中

直接

{

  Label mylabel=new label();

.......;

}

在.h文件中这样声明了之后大家就可以在.m文件中进行下一步的声明了

#import "LookInfoModelCell.h"

@implementation LookInfoModelCell
@synthesize contentlabel;
@synthesize typelabel;

直接 

@synthesize  变量名.
这样声明了之后.大家就可以使用类似C#中的.语法来调用该类的该变量了
类似于
LookInfoModelCell.contentlabel=xxx;

 以上就是属性的定义了.

如果是通过这种方式声明的话是直接可以 使用.语言来进行属性的操作的

否则的话就需要 用[类名 set属性] 的方式来操作.比较麻烦..如果有人非要用这种方式的话 ..请自己查找相关资料学习

 

 

接下来讲下方法的声明 

-(IBAction)loginButtonPressed:(id)sender;

-(IBAction)backgroundTap:(id)sender duration:(NSTimeInterval)duration;

-(void)uidDidEndOnExit;

如果需要允许外部调用的就需要在.h文件中进行声明 如上.

否则的话可以直接在.m文件里面开始写方法

- 号和+号分别

加号 是可以通过类名直接调用这个方法,而减号则要实例化逸个对象,然后通过实例化的对象来调用该方法!!

然后括号内是返回类型

如果定义成IBAction的类型就是可以外部链接的

就类似我们做.NET的时候 可以在属性里面 选择对应操作会执行哪些方法一样..这个具体的之后会进行(截图)讲解

 

跟着返回类型的是方法名 ,再是参数

OC(objective-c的简称,之后都用OC来代替objective-c)的方法定义和C#还是有比较明显的区别的,具体的是在变量上面

C#中是 

 (返回类型)方法名(参数类型  变量名,参数类型 变量名 ....)
而OC则是

(返回类型) 方法名 :(参数类型)变量名 空格 参数二名 :(参数类型) 变量名 空格 参数三名 :(参数类型) 变量名

个人感觉有点奇葩.

继续正题吧.

在.h文件中声明了 方法后就要再.m文件中进行实现了

这部分的代码就和C#一样了没什么需要讲解的了

-(IBAction)backgroundTap:(id)sender

{

    [pwdTextFieldresignFirstResponder];

    [uidTextFieldresignFirstResponder];

}

 接下来再讲下方法的调用

在C#中 调用方法是直接

类.方法名 (参数)

这样来调用的

而在oc中则是

 

[类  方法名: 参数 ]

类似于如下

    ZYGXViewController *zygxViewController =[[ZYGXViewControlleralloc]initWithNibName:@"ZYGXViewController"bundle:nil];

 

 该段代码的意思是

我声明了一个 ZYGXViewController类型的变量 zygxViewController

初始化方法 方法包含两个参数 initWithNibName 和bundle

 

另外需要注意的是  如果是调用本身的方法 需要

[self 方法名]

PS:我刚开始没记住这一点 直接[方法名] 了半天不出来.纠结了好久.然后才想起来要加 self.

开篇就讲这么多了.也是中午抽空谢谢的.

第一次写 可能有很多地方有不足的地方还请见谅

另外小弟也是IOS开发新手.如果内容上有什么错误,以及误导的地方的 还请大家见谅. 最好能留言 告诉小弟.小弟也能及时修改,免得误人子弟,实乃罪过.

下一章我会直接从登陆界面讲起. 简单的做一些基础的操作

 

 

 

 

目录
相关文章
|
1月前
|
iOS开发 开发者
uniapp开发ios打包Error code = -5000 Error message: Error: certificate file(p12) import failed!报错问题如何解决
uniapp开发ios打包Error code = -5000 Error message: Error: certificate file(p12) import failed!报错问题如何解决
143 67
uniapp开发ios打包Error code = -5000 Error message: Error: certificate file(p12) import failed!报错问题如何解决
|
3月前
|
开发框架 前端开发 Android开发
安卓与iOS开发中的跨平台策略
在移动应用开发的战场上,安卓和iOS两大阵营各据一方。随着技术的演进,跨平台开发框架成为开发者的新宠,旨在实现一次编码、多平台部署的梦想。本文将探讨跨平台开发的优势与挑战,并分享实用的开发技巧,帮助开发者在安卓和iOS的世界中游刃有余。
|
5天前
|
JavaScript 搜索推荐 Android开发
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
27 8
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
|
2月前
|
iOS开发 开发者 MacOS
深入探索iOS开发中的SwiftUI框架
【10月更文挑战第21天】 本文将带领读者深入了解Apple最新推出的SwiftUI框架,这一革命性的用户界面构建工具为iOS开发者提供了一种声明式、高效且直观的方式来创建复杂的用户界面。通过分析SwiftUI的核心概念、主要特性以及在实际项目中的应用示例,我们将展示如何利用SwiftUI简化UI代码,提高开发效率,并保持应用程序的高性能和响应性。无论你是iOS开发的新手还是有经验的开发者,本文都将为你提供宝贵的见解和实用的指导。
145 66
|
2月前
|
存储 监控 API
app开发之安卓Android+苹果ios打包所有权限对应解释列表【长期更新】-以及默认打包自动添加权限列表和简化后的基本打包权限列表以uniapp为例-优雅草央千澈
app开发之安卓Android+苹果ios打包所有权限对应解释列表【长期更新】-以及默认打包自动添加权限列表和简化后的基本打包权限列表以uniapp为例-优雅草央千澈
90 11
|
2月前
|
开发框架 Android开发 iOS开发
安卓与iOS开发中的跨平台策略:一次编码,多平台部署
在移动应用开发的广阔天地中,安卓和iOS两大阵营各占一方。随着技术的发展,跨平台开发框架应运而生,它们承诺着“一次编码,到处运行”的便捷。本文将深入探讨跨平台开发的现状、挑战以及未来趋势,同时通过代码示例揭示跨平台工具的实际运用。
174 3
|
2月前
|
Java 调度 Android开发
安卓与iOS开发中的线程管理差异解析
在移动应用开发的广阔天地中,安卓和iOS两大平台各自拥有独特的魅力。如同东西方文化的差异,它们在处理多线程任务时也展现出不同的哲学。本文将带你穿梭于这两个平台之间,比较它们在线程管理上的核心理念、实现方式及性能考量,助你成为跨平台的编程高手。
|
3月前
|
存储 前端开发 Swift
探索iOS开发:从新手到专家的旅程
本文将带您领略iOS开发的奇妙之旅,从基础概念的理解到高级技巧的掌握,逐步深入iOS的世界。文章不仅分享技术知识,还鼓励读者在编程之路上保持好奇心和创新精神,实现个人成长与技术突破。
|
3月前
|
安全 IDE Swift
探索iOS开发之旅:从初学者到专家
在这篇文章中,我们将一起踏上iOS开发的旅程,从基础概念的理解到深入掌握核心技术。无论你是编程新手还是希望提升技能的开发者,这里都有你需要的指南和启示。我们将通过实际案例和代码示例,展示如何构建一个功能齐全的iOS应用。准备好了吗?让我们一起开始吧!
|
3月前
|
安全 Swift iOS开发
Swift 与 UIKit 在 iOS 应用界面开发中的关键技术和实践方法
本文深入探讨了 Swift 与 UIKit 在 iOS 应用界面开发中的关键技术和实践方法。Swift 以其简洁、高效和类型安全的特点,结合 UIKit 丰富的组件和功能,为开发者提供了强大的工具。文章从 Swift 的语法优势、类型安全、编程模型以及与 UIKit 的集成,到 UIKit 的主要组件和功能,再到构建界面的实践技巧和实际案例分析,全面介绍了如何利用这些技术创建高质量的用户界面。
72 2

热门文章

最新文章

  • 1
    【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
  • 2
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
  • 3
    Cellebrite UFED 4PC 7.71 (Windows) - Android 和 iOS 移动设备取证软件
  • 4
    【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
  • 5
    【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
  • 6
    iOS8 中无需开源库的内置功能一览
  • 7
    iOS7应用开发7:自定义视图、手势操作
  • 8
    IOS小工具以及精彩的博客
  • 9
    Facebook SDK(iOS)初学讲解
  • 10
    iOS:应用程序的线程安全性
  • 1
    【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
    28
  • 2
    Cellebrite UFED 4PC 7.71 (Windows) - Android 和 iOS 移动设备取证软件
    29
  • 3
    【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    40
  • 4
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    34
  • 5
    【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
    27
  • 6
    uniapp开发ios打包Error code = -5000 Error message: Error: certificate file(p12) import failed!报错问题如何解决
    143
  • 7
    【05】2025年1月首发完整版-篇幅较长-苹果app如何上架到app store完整流程·不借助第三方上架工具的情况下无需花钱但需仔细学习-优雅草央千澈详解关于APP签名以及分发-们最关心的一篇来了-IOS上架app
    247
  • 8
    app开发之安卓Android+苹果ios打包所有权限对应解释列表【长期更新】-以及默认打包自动添加权限列表和简化后的基本打包权限列表以uniapp为例-优雅草央千澈
    90
  • 9
    深入探索iOS开发中的SwiftUI框架
    145
  • 10
    ios样式开关按钮jQuery插件
    61