0%

引言

为什么使用 SVN?在企业工作时,经常需要团队配合,这时一份工程需要多个人共同维护,业内称之为多人联编。联编的方式有很多种,最原始的方式就是 A 写完代码 a,B 写完代码 b….M 写完代码 m,然后由 N 负责把 a 到 m 的所有代码进行整合,而且 N 需要和所有人沟通,对所有代码都很清晰,整合时不能够出现差错,否则代码就有可能达不到预期效果。很显然这个工作是非常繁重而且效率非常低的。作为地球上最智慧的一群人,我们怎么能容忍这种低效率的工作呢。所以诞生了很多联编工具,帮助我们自己解决各种问题。其中应用最广泛的莫过于 SVN 了,当然目前 git 以其先进敏捷的特点,得到越来越多人的认可和使用,著名程序猿交友网站
Github就是提供 git 服务的网站。git 和 SVN 的区别

阅读全文 »

保存和读取数据的机制

在之前写的 Homeowner 基础上更新,通过固化来保存和读取模型对象,当用户重新运行 Homeowner 应用时,可以读取之前创建并保存的模型对象。

之前的应用:《iOS 编程(第四版)》Demo8:Homeowner

## 固化机制
固化 是由 iOS SDK 提供的一种保存和读取对象的机制。当应用固化某个对象时,会将该对象的所有属性存入指定的文件夹。当应用解固某个对象时,会从指定的文件读取相应的数据,然后根据数据还原对象。
为了固化或解固某个对象,相应对象的类必须遵守 NSCoding 协议,并实现两个必须方法:

@protocol NSCoding

- (void)encodeWithCoder:(NSCoder *)aCoder;
- (nullable instancetype)initWithCoder:(NSCoder *)aDecoder; // NS_DESIGNATED_INITIALIZER

@end
  • 在 Item.m 中实现 NSCoding 协议:
阅读全文 »

SDCycleScrollView

傻瓜式最简单的方法,调用第三方框架,SDCycleScrollView

下面👇的自定义方法,模仿着写的,待完善。

参考的无限轮播 (三图轮播原理), 自己模仿写了一个,但是发现图片一开始加载的时候有偏移量,一直没法解决,先留着吧。

#import <UIKit/UIKit.h>

/**
 首页轮播图
 */
@interface HQLCarouselView : UIView

#pragma 视图控制器中调用的接口
- (instancetype) initWithFrame:(CGRect)frame withPictures:(NSArray *)picture_array;

@end
阅读全文 »

iOS 的开发者账号类型:

个人

如果正要为 Apple 平台开发 app,请在 Xcode 下载页面上免费下载 Xcode 开发者工具、SDK 和资源。无需计划的会员资格。如果您还没有 Apple ID,可以在此处创建一个

Apple Developer Program。如果您是个人或代表独资 / 个人企业并有意创建 app 在适用于 iPhone、iPad、Mac 和 Apple Watch 的 App Store 上分发,请注册 Apple Developer Program。会员资格包括以下内容的使用权限:测试版 OS、高级 app 功能,以及用于开发、测试和分发 app 和 Safari Extensions 的工具。作为个人注册的开发者将使用个人姓名在 App Store 上销售 app。

会员资格每年 99 美元

了解所含内容 | 了解如何注册


阅读全文 »

以下资源非原创,摘自各种公众号或网络,仅用于学习交流get新技能,方便日常查阅,无任何商业及侵权目的!

  • 官方原文:iOS Human Interface Guidelines

  • [ISUX 译] iOS 9 人机界面指南 (一):UI 设计基础

  • [ISUX 译] iOS 9 人机界面指南 (二):设计策略

  • [ISUX 译] iOS 9 人机界面指南 (三):iOS 技术 (上)

  • [ISUX 译] iOS 9 人机界面指南 (三):iOS 技术 (下)

  • [ISUX 译] iOS 9 人机界面指南 (四):UI 元素

  • [ISUX] 译 iOS 9 人机界面指南 (五):图标与图形设计

参考:

  • 用代码创建并实例化在 storyboard 中声明的 ViewController
  • IOS 开发-使用 Storyboard 进行界面跳转及传值

选中 Storyboard 上的指定 ViewController,设置 identity inspector(身份检查器)中的 Storyboard ID 值。

  //        HQLLoginViewController *loginViewController = [[HQLLoginViewController alloc] init];
 //        [self.navigationController pushViewController:loginViewController animated:YES];

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
    HQLLoginViewController *loginViewController = [storyboard instantiateViewControllerWithIdentifier:@"loginViewController"];
    [self.navigationController pushViewController:loginViewController animated:YES];
  • 跳转到 Segue 连接的下一个视图控制器
[self performSegueWithIdentifier:@"ID_step2" sender:self];

参考文章:

  • iOS 开发添加静态启动页,icon 图标及 APP 名字
  • 设置应用程序图标和启动背景图
  • 通过 LaunchScreen 自定义启动动画
  • iOS 启动图和开屏广告图,类似网易
阅读全文 »

工具效率类

  • 高效 macbook 工作环境配置 | YuMo’s Blog
  • 那些好用的 iOS 开发工具 @唐巧
  • 如何让 Xcode 在读写上提速 100 倍?
  • Windows 绝赞应用
阅读全文 »

推荐阅读

  • iOS 学习之路 (资料推荐) @没阳光的午后 (阅读难度:★)
  • 最佳实践(2):iOS 开发篇

2016-09-07 CocoaChina

零基础小白如何进行 iOS 系统学习?
入门后如何进阶,进而成为资深的 iOS 专家?
iOS 开发者的能力图谱是怎么样的?
想要走向专家级别,需要怎样的知识体系?
网易阿里等互联网公司需要怎样的 iOS 人才?
……

这些问题恐怕是想要入行 iOS 或者初入行 1-3 年的开发同学经常碰到的,今天我们邀请到了网易移动技术团队负责人张平,从这五个问题的角度来为大家答疑解惑。 

张平 | 网易移动技术团队负责人
多年浏览器内核、JavaScript 解释器研发经验;负责过多款 APP 和一些基础 SDK 的研发;热爱优秀的编程语言。

阅读全文 »