【Objective-C】玩转OC:正式开始自学OC

  实话说吧,我觉得同时自学太多语言真是不太好,寒假给自己的任务太重了,但是没有办法啊,谁叫我参加了“我们的益达”的iOS组呢,可是承诺了寒假要好好学的,所以只能挖掘自己的时间、精力和潜力咯O(∩_∩)O哈哈~放假前从图书馆借来《Objective-基础教程》,现在开始看这本书自学了。下面废话少说,正式开始学习吧!

  OC也是C的补充与扩展,增加了很多特性。

  一、#import语句

  它跟#include功能一样,但可以保证头文件只被包含一次。

  二、NSLog()  @"字符串"

  NSLog()就是打印,可以包含格式化输出,还自动换行、自动增加时间戳,比较屌一点。@"字符串"是OC中字符串的写法,NSString,@是本体。

  打印hello world的语句:

NSLog(@"Hello World!");

  关于NS前缀:方便识别是Cocoa中的函数,所以自己取名就最好不要取NS为前缀的。

  三、BOOL类型

  有两个值YES或者NO。一个范例程序,让我们看看BOOL类型怎么用:

 1 #import <Foundation/Foundation.h>
 2 
 3 BOOL areIntsDifferent(int a,int b) {
 4     if (a==b){
 5         return (NO);
 6     }
 7     else {
 8         return (YES);
 9     }
10 }
11 NSString *boolstring (BOOL yesNo) {
12     if (yesNo==NO) return (@"NO, they're same.");
13     else return (@"YES, they're different.");
14 }
15 
16 int main(int argc, const char * argv[]) {
17     @autoreleasepool {
18         // insert code here...
19         NSLog(@"------Compare Numbers!------");
20         int num1,num2;
21         BOOL result;
24         for(;;){
25             printf("Please input 2 numbers:");
26             scanf("%d %d",&num1,&num2);
27             result = areIntsDifferent(num1, num2);
28             NSLog(@"Are %d and %d different  %@",num1,num2,boolstring(result));
29         }
30         
31     }
32     return (0);
33 }

  第3行的函数areIntsDifferent判断输入的两个数是否不同,然后返回YES或NO值。

  第11行的函数boolstring()的作用是将数值型的BOOL值映射为字符串格式来输出,返回值类型是一个指向NSString的指针,返回值前面有@号,表明它们是NSString的值。

  main函数中,存在一个BOOL型的变量。输出时字符串的占位符是用的%@。

  

  小结:这就是我今天学到的内容,学会了几个简单的语句,会了BOOL的用法。嗯~明天继续。

转载于:https://www.cnblogs.com/HappyCtest/p/5176342.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/404328.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从微软的DBML文件中我们能学到什么(它告诉了我们什么是微软的重中之重)~三 分部类是否破坏了单一职责...

一 DBContext的构造方法&#xff0c;方法的重载 二 DBContext实例中&#xff0c;表实体对象是怎么被加入的 三 分部类是否破坏了单一职责 四 分部方法从另一方面定义了类型的操作规范 五 LINQ实体类中对属性的赋值&#xff0c;变化前与变化后SendPropertyChanging与SendPropert…

Makefile中支持的函数大全

From: http://blog.chinaunix.net/uid-25365622-id-3056374.html 一.描述 Makefile的函数调用&#xff0c;很像变量的使用&#xff0c;也是以“$”来标识的&#xff0c;其语法如下&#xff1a; $(<function> <arguments> ) 或是 ${<function> <argum…

[react] 和Component两者的区别是什么

[react] 和Component两者的区别是什么 组件的state或者props更新都会触发render(),同时也会导致子组件render()重新渲染&#xff1b;当我们不想子组件更新时&#xff0c;需要手动在shouldUpdateComponent当中返回false;pureComponent帮我们做了这部分工作 个人简介 我是歌谣…

还是引用

1 #include <iostream>2 using namespace std;3 4 int getA1()5 {6 int a;7 a 10;8 return a; //复制一份交给主函数相关变量,然后自己消失,只是返回一个值,可能存在于除内存外的其他地方.9 } 10 11 int& getA2() 12 { 13 int a; 14 a 10; 15…

Nginx+Php(FastCGI、Php-fpm)+Mysql+Zend+Memcache+Phpmyadmin+MongoDB+TT安装

源码包下载 wget http://www.monkey.org/~provos/libevent-1.2.tar.gz wget http://www.danga.com/memcached/dist/memcached-1.2.0.tar.gz wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-1.8.0-rc2.tgz wget http://blog.s135.com/soft/linux/nginx_php/rpm/x8…

[react] 如何解决引用类型在pureComponent下修改值的时候,页面不渲染的问题?

[react] 如何解决引用类型在pureComponent下修改值的时候&#xff0c;页面不渲染的问题&#xff1f; 不要在state或者props当中修改数组或者对象 通过使用es6的assign方法或者数组的扩展运算符或者使用第三方库&#xff0c;强制返回一个新的对象 (页面为什么不渲染) 是因为组件…

Makefile中自定义函数的调用

From: http://www.cnblogs.com/MyEyes/archive/2012/01/12/2320589.html 自己学习脚印&#xff0c;不喜勿喷&#xff0c;谢谢 ~ Makefile中函数定义&#xff1a; external/genext2fs/Config.mk # $(1): src directory # $(2): output file # $(3): label (if any) # $(4): …

python selenium ---键盘事件

转自&#xff1a;http://www.cnblogs.com/fnng/p/3258946.html 本节重点&#xff1a; l 键盘按键用法l 键盘组合键用法l send_keys() 输入中文运行报错问题键盘按键键用法&#xff1a; #codingutf-8 from selenium import webdriver from selenium.webdriver.common.keys impor…

Android.自定义控件的实现 (转载)

尊重他人劳动成果&#xff0c;转载请注明出处。 转自&#xff1a;http://kandy0619.blog.163.com/blog/static/64344345201012325939280/ 可能是一直都在做Web的富客户端开发的缘故吧&#xff0c;在接触Android之后&#xff0c;发现其控件实在惨不忍睹&#xff08;不知道是否说…

React-Router面试题汇总

[react-router] React-Router怎么获取URL的参数&#xff1f; [react-router] 在history模式中push和replace有什么区别&#xff1f; [react-router] React-Router 4中&#xff1c;Router&#xff1e;组件有几种类型&#xff1f; [react-router] React-Router怎么设置重定向…

Eclipse中使用自己的makefile管理工程

From: http://blog.csdn.net/whz_zb/article/details/7101164 我用的环境&#xff1a; &#xff08;1&#xff09;系统&#xff1a; Ubuntu 11.04 &#xff08;2&#xff09;Eclipse CDT 1. 在建立工程的时候选择makefile工程。 2.将makefile文件和你写好的工程文件&#x…

Spring MVC遭遇checkbox的问题解决方式

Spring MVC遭遇checkbox的问题是&#xff1a;当checkbox全不选时候&#xff0c;则该checkbox域的变量为null&#xff0c;不能动态绑定到spring的controller方法的入參上&#xff0c;并抛出异常。 解决方式&#xff1a; 1、javascript方式提交&#xff0c;提交前拼提交參数串。拼…

[Redux/Mobx] redux和flux的区别是什么?

[Redux/Mobx] redux和flux的区别是什么&#xff1f; Flux: Store 包含状态和更改逻辑有多个 Store所有 Store 都互不影响且是平级的有单一调度器React 组件订阅 store状态是可变的 Redux: Store 和更改逻辑是分开的只有一个 Store带有分层 reducer 的单一 Store没有调度器的…

[转载]Python量化交易平台开发教程系列0-引言

原文出处&#xff1a;http://vnpy.org/2015/03/04/20150304_Python%E9%87%8F%E5%8C%96%E4%BA%A4%E6%98%93%E5%B9%B3%E5%8F%B0%E5%BC%80%E5%8F%91%E6%95%99%E7%A8%8B%E7%B3%BB%E5%88%970-%E5%BC%95%E8%A8%80/ 为什么用Python来开发量化交易平台 目前本人所在的公司一共有三款平台…

如何在 Ubuntu 12.04 Server 中安装图形用户界面

From: http://blog.163.com/crazy20070501126/blog/static/12865946520128301144531/ 使用ubuntu server安装lamp主机非常的方便&#xff0c;只要在安装系统的步骤中选择就是了 。但是很多时候我需要在图形界面下管理主机更加方便。今天的教程就是教大家安装图形界面。 【方法…

[Redux/Mobx] 在redux中,什么是store?

[Redux/Mobx] 在redux中&#xff0c;什么是store&#xff1f; 单一数据源&#xff0c;整个应用数据保存的地方 个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

flask-whooshalchemy需要注意的一点

在学习mega—tutorial时全文搜索模块遇到了问题&#xff0c;那就是使用全文搜索查询出来的数据为空的列表&#xff0c;输出了sql语句后发现where后没有条件&#xff0c;困扰了许久&#xff0c;后来才发现是自己不细心&#xff0c;在进行全文索引时应该将数据库中的数据删除&…

[Redux/Mobx] Redux由哪些组件构成?

[Redux/Mobx] Redux由哪些组件构成&#xff1f; (这道题应该本意是Redux由哪些部分组成) State&#xff1a;Redux中的数据Reducer&#xff1a;这是Redux的核心&#xff0c;内部处理接受到action后到返回新的state的逻辑&#xff1b;reducer可以进行嵌套&#xff0c;一个store…

linux下添加用户的命令--useradd

From: http://hi.baidu.com/amenmen/item/010142991caf6bd87b7f0101 给你一整比较完整的方案你试下&#xff0c;看有用没。。 [rootlinux ~]# useradd [-u UID] [-g initial_group] [-G other_group] \ > -[Mm] [-c 说明栏] [-d home] [-s shell] username 参数&…

Maven实战(Maven+Nexus建立私服【Linux系统】)

准备工作 下载及配置Maven3&#xff1a;http://www.cnblogs.com/leefreeman/archive/2013/03/05/2944519.html 下载Nexus&#xff1a;http://nexus.sonatype.org/downloads/ 安装配置Nexus Nexus提供了两种安装方式&#xff0c;一种是内嵌Jetty的bundle&#xff0c;只要你有JRE…