zoukankan      html  css  js  c++  java
  • iOS 编程学习笔记

    一、搭建环境。

    IOS程序必须在mac os x系统上编程这点真是令人不爽。这不是存心在坑我这种穷人么...

    花了将近一下午,终于找到可用的mac os x 10.9系统、VMware的补丁(下载地址)和系统安装的图文教程(自己搜吧)。

    然后是苦逼的安装….

    二、xcode初探

    终于运行起了mac os x系统,心中那个激动啊!!!现在只要把xcode安装好,就可以开始编IOS程序了!不过…xcode居然有2个G…你当你自己是Visual studio吗…

    安装好了xcode,开始正经地编程了。我是在 IOS Developer Library 上学习的,觉得它和 Android Developer差不多,都是对新手来说相当有用的网站。

    按照网站上的提示,我新建了一个工程,然后 Run 了一下 inch 4 (4英寸)虚拟机。然后一个白花花的界面摆在了我面前。好激动!!

    (如果觉得界面太大,可以按command+2或command+3缩小,按command+1变回原来的样子;也可以在window里的缩放比例中选择。)

    三、简单界面学习

    • 新建 storyboard 文件来新建画布。
    • view controller 建立场景
    • 在 attributes inspector 里更改属性
    • label 标签
    • Text Field
      • Placeholder 输入提示信息
    • 按住 control 键把场景(控件)往外拖,会有 auto layout 的选项
    • Navigation Item 选定view controller, 点击 Editor -> Embed In -> Navigation Controller 来创建导航栏。
    • Bar Button Item 就是按钮,可用来过渡(即切换场景)
      • Identifier
    • Action Segue 过渡拖动时出现,用来选择过渡类型
      • push
      • modal (导航栏会消失,需要自己在新页面新建一个导航栏)
    • 给自定代码预留位置,您需要为每一个视图控制器创建子类
      • Cocoa Touch 触控
        • class 名字必须有 XYZ ??

    四、常用技巧

    • ^+command+F 全屏 
    • Edit -> Refactor -> Rename 来更改类名

    五、编写代码

    • 框架
      • 值对象:封装了基本值(属于 C 数据类型)且提供与该值相关的服务的对象
      • 集对象(数组,集合)
      • 选择器是指向方法的一个指针。(感觉是函数指针的意思)
      • id指向任何一个继承了Ojbect(或者NSObject)类;它是一个指针,所以声明时不需要加*号。
      • Foundation 框架
    • 数据类型
      • NSString *itemName;
      • NSDate *creationDate;
      • BOOL completed;
      • (readonly) + “数据类型”

      • @interface XYZToDoItem : NSObject 类的声明、继承写法(在.h文件中)
      • @property BOOL completed; (定义外部可访问成员)
      • self 被用来代替c++中的 this
      • 方法:- (void)markAsCompleted:(BOOL)isComplete onDate:(NSDate *)date;
        • -号表明它是实例方法,就相当于java中的动态方法;+号表明它是类方法,相当于java中的静态方法。
        • 注意 void 两边要打括号。(即方法的数据类型要用括号括起来)
        • 用 : 来声明参数。
        • 私有方法不用在.h文件中声明?!
        • 用[]来使用对象的方法,相当于java中的'.'
    • Outlet 是什么 ?
    • viewDidLoad ?
    • #warning blablabla...
    • 显示数据
      • interface builder 设计自定单元格
    • #pragma mark 告诉Xcode编译器,要在编辑器窗格顶部的方法和函数弹出菜单中将代码分隔开 (怎么用?)
    • 辅助编辑器
    • unwindToDoList ??
      • segue ??
      • [self.tableView reloadData] ??

    (待续…)

  • 相关阅读:
    正则表达式
    HashTable与HashMap的区别
    求解连续子数组乘积的最大值
    求解N个值中最大的k个数,N远大于k
    C++权限修饰符
    DBSCAN算法
    【leetcode】1318. Minimum Flips to Make a OR b Equal to c
     【leetcode】1317. Convert Integer to the Sum of Two No-Zero Integers
    【leetcode】1316. Distinct Echo Substrings
    【leetcode】1315. Sum of Nodes with Even-Valued Grandparent
  • 原文地址:https://www.cnblogs.com/monmonde/p/3966194.html
Copyright © 2011-2022 走看看