Objective C 以及 Xcode的总结

objective-C在XCode入门Cocoa框架 因为最近项目需要,必须得学习Mac开发。对于一个之前只在 windows中开发的程序员,这个转型有点大。 在XCode下编程主流的有Swift和Objective-C两种语言。相比之下笔者更喜欢swift。但是有一些老的项目还是用OC编写的,以及一些开源项目也是用OC编写的。而我要上手的项目就是一个开源项目,是用objective-c写的。因此即使喜欢swift,也必须得学objective-C... 阅读详情

大纲


公有、私有
类方法、对象方法
对象用指针、原始类型
强指针、弱指针
发送消息
初始化:init     dealloc
              alloc   release
              retain +1
语法细节

1. for(xx in array)
2. @[xx,xx]数组
    @{key:v,…}字典
    @“…”string
     @() NSNumber
3. #import
4.  NSObject
     NSString
     NSArray:只能保存Objective C对象,不能存nil
     NSMutableSrting
     NSDictooinary
     NSNumber
     NSNull
     NSValue
     NSEnumerator:不能改变数组内容
     NSData:bits
     NSDate
     NSRange:只能为正数范围
     UIColor
     UIFont: preferredFontForTextStyle
5.  @interface A:NSObject
     @end
6.  @interface A()
     @end
     @implementation A
     @end
7. 对象在堆中,自动处理分配
8. 强指针:只要指向,便自动保存内容=》引用计数
9. @property
10. 对象方法
     发送消息[] 方法      . 属性
11.self自身
    super父类 
12.所有实例变量从0开始
13.NSLog
14:init:
{
     if (self = [super init]) {..} return self;
}
15. id:泛型,可以指向任何对象
16.description:类似toString
17.若只通过指针引用某类,可以用@class A;继承:必须import
18.除非名字里含有copy,否则返回指针
19. 初始化
[[xx alloc]init]
[[xx alloc]initWith:1 b:2]
[NSString stringWithFormat:@“%d”, 42] 
20.id不会产生警告,会crush
     NSString* 和id一样的,只是可能在编译器进行检查,产生警告
21.KVO:当制定对象的属性修改了,允许对象收到通知的机制
     Proxy类观察A
     Proxy类:[A AddObserver:self forKeyPath:…  ]成为A的观察者
                     ObserveValueForKeyPath:如何响应变化的消息,当A的被观察属性变动,会调用该方法
22. isKindOfClass
      isMemberOfClass
     respondsToSelector
23. 协议
@protocol xx<父亲protocol>
@end
NSObject protocol
NSObject类
NSProxy protocol更简单
@interface A:NSObject<xx>
@end
或者@interface A():<xx> 在.m中
24.代码块(类似函数指针)
^(参数列表) {内容}
可以访问与其同时定义的本地变量作为常量(复制并保存变量的状态)
作为变量,需声明_block a = 3;再在block中用
可作为参数
block中的东西都会存一个强指针—>若将block存储,容易产生循环引用
__weak class* c = self —>不会产生循环引用了
25. 多线程(Grad Central Dispatch)
提交代码块或者函数作为线程运行
nonatomic:互斥的getter和setter
方法:
  1. performSelectorInBackground: @selector withObject:nil/xxx
  2. 队列:dispatch_async异步调用,dispatch_sync同步调用
    1. dispatch_queue_create
    2. dispatch_get_global_queue
    3. dispatch_get_main_queue
    4. dispatch_get_current_queue
  3. NSOperationQueue:更加可控
26.类别:为现有类提供新方法,类扩展,无需再()中加东西,用于一个类分块实现@interface A(xx/空)
27.委托:一种对象(委托对象1),有另一个类(TableView2)请求执行某些工作
2向1发送消息:(bool) tableView:v shouldSelectRow:r
1告诉2返回值
例子:1Finder,符合一个BrowserDelegate协议
          2browser,设Finder为Delegate: browser setDelegate:finder
          browser做一些事,调用1的某些方法
28. selector: resondsToSelector:@selector(f1: xx:)
performSelector: withObject:
[array makeObjectsPerformSelector: withObject:]
[btn addTarget:object action:@selector]
29. struct->string
      string->struct
30. [NSUserDefault standardUserDefault]
     setArray forKey
     setDouble forKey
     setInteger forKey
     setObject forKey
     arrayForKey…
     synchronize
31 NSAttributeString:不可修改
    (NSDictionary*)  attributesAtIndex:  effectiveRange
     可以查找,如果要保存查找的结果,需要copy一份
     
快捷键

1. control+拖控件:添加时间属性
2. option+点击:help
3.cmd+点击:查看内容
ctrl A:行首
ctrl E:行尾
ctrl T:交换
ctrl D:删除后面的
ctrl K:删除后面的所有
使用Xcode工具开发Objective-C程序 1.启动X-code,单击屏幕顶端的File➡️New➡️Project,或者直接点击页面中的Create a new Xcode project, X-code将会弹出如下图所示的新建项目的对话框。                             2.上图所示对话框将项目分为两类:iOS和OS X,其中iOS应用就是为手机、平板、电脑等移动设备开发应用的。现在说一下在OS 阅读详情

相关推荐

Objective-C入门01:使用Xcode新建一个工程

Objective-C入门教程01:使用Xcode新建一个工程 一、objective-c简介:     Xcode 是 Apple 的集成开发环境,用于 iOS 和 Mac OS X 的开发。Xcode可以直接在App Store中安装,也可以从网络下载或是拷贝过来安装。在 Mac 上安装 Xcode,也会同时安装了 iOS SDK,它包含 iOS 平台的编程接口。

FF251606的博客 6019

Xcode、Cocoa、Objective-C 和Swift的关系

Xcode、Cocoa和Objective-C和Swift 的关系 Xcode: 就是iOS的集成开发环境IDE,相当于Windows下的Visual Studio。Xcode的功能及其强大,甚至可以认为超过Visual Studio。当前的Xcode集成开发环境支持两种开发语言:Objective-c和Swift(Xcode 6开始支持),目前最新的Xcode支持一些AI

leemboy的博客 6229

Xcode自定义模板实战:支持Swift与Objective-C

Xcode是苹果公司为Mac OS和iOS开发而量身打造的集成开发环境(IDE),它提供了一系列工具和服务,使开发者能够设计、编写、调试和优化应用程序。作为官方支持的工具,Xcode自然地与Swift、Objective-C等编程语言和最新的API无缝集成,为开发者提供一流的开发体验。安装Xcode相对简单,只需从Mac App Store下载安装,或者通过Apple Developer网站下载最新的开发者工具包。

weixin_35903223的博客 1060

Xcode,Objective-c,Cocoa的区别

XCode:你可以把它看成是一个开发环境,就好像Visual Studio或者Netbeans或者SharpDevelop一样的玩意。你可以将Interface Builder认为是Visual Studio中用来画界面的那部分功能单独提出来的程序。 Objective-C:这是一种语言,就好像c++是一种语言,Java是一种语言,c#是一种语言,莺歌历史也是一种语言一样。 Cocoa:是一大

cqcqqin的专栏 860

将Objective-C代码自动转换为Swift的XCode插件

XCode作为苹果公司官方开发的集成开发环境,自诞生以来便一直伴随着Mac与iOS开发者。它不仅仅是一个代码编辑器,更是一个全面的应用开发平台。XCode集成了一系列工具,包括编译器、调试器和性能分析器,让开发者可以高效地编写、测试以及优化应用。此外,XCode还提供了界面设计工具Interface Builder,使得UI设计更加直观和便捷。XCSwiftr插件的工作原理可以概括为以下几个主要步骤:代码扫描:插件首先扫描项目中所有的Objective-C文件。语法分析。

weixin_42452924的博客 1373

01 底盘制动产品之轮速传感器

轮速传感器是用来测量汽车车轮转速的传感器。对于现代汽车而言,轮速信息是必不可少的,汽车动态控制系统(VDC)、汽车电子稳定程序(ESP)、防抱死制动系统(ABS)、自动变速器的控制系统等都需要轮速信息。

汽车软件工程师 | 好奇博主 | 处女座 4659

Xcode中Objective-C和C++混编的实现(一)

最近在做一个项目需要把OpenCV 的代码移植到iOS中,在移植过程中遇到了很多问题,其中最关键的就是OC与C++混编的问题,找了很多资料和弯路终于走通了,现在把思路整理好做个笔记.希望能给有需要的朋友一点帮助. 注意: 1.有C++代码的文件必须改成.mm Xcode才可以识别 2.确保编译器是Build Settings->Apple LLVM6.1 - La

color99的专栏 9988

NSGA(非支配排序遗传算法)

在多目标优化问题中,往往存在多个相互冲突的目标需要同时优化。传统的单目标优化算法无法直接应用于这类问题,因此需要专门的多目标优化算法。非支配排序遗传算法(Non-dominated Sorting Genetic Algorithm,NSGA)是一种经典的多目标优化算法,由印度科学家 Kalyanmoy Deb 等人于 1995 年提出。NSGA 通过非支配排序和拥挤度距离来引导种群向 Pareto 最优前沿进化,从而得到一组具有良好分布性和收敛性的 Pareto 最优解。

2977

Objective-c 总结

1、Xcode集成开发环境简介 Objective-c是面向对象的是C语言的拓展。 C语言是面向过程的。 2、开发环境命名为Cocoa,开发语言是:Objective-C. IOS是MAC操作系统的一个子集。 3、Xcode下载及安装 下载地址:http://developer.apple.com/。 注册一个CDC帐号 Xcode。以dmg格式打包,安装很简单,结束后把目标程序拖...

v5browser 151

华为无线WiFi实战:基于802.1x与NPS的企业级认证部署指南

本文提供了一份详尽的华为无线WiFi企业级认证部署实战指南。通过整合802.1x协议与Windows NPS服务器,构建基于AD域账号的安全认证体系,彻底解决传统WiFi密码共享带来的安全风险。文章详细拆解了从NPS服务器配置、证书部署到华为AC端RADIUS模板、AAA方案、认证域及VAP模板调用的全流程,并附有终端连接测试与常见故障排查方法,助力企业实现高效、安全的无线网络接入管理。

weixin_29239661的博客 270

Mastercam软件二次开发:使用C#进行Mastercam二次开发

C#(发音为“C Sharp”)是一种现代、面向对象的编程语言,由微软开发,首次发布于2000年。它结合了C和C++的强大功能,同时引入了Java的垃圾回收机制,使得C#在开发效率和运行性能之间找到了一个良好的平衡点。C#的设计目标是提高开发者的生产力,它支持多种编程范式,包括面向对象、泛型、委托和事件等,这使得它成为开发Windows应用程序、Web应用程序、游戏(尤其是使用Unity引擎)和企业级应用的理想选择。

kkchenjj的博客 2214

Xcode objective-c objective-c++以及混编的理解4

对oc objective-c objective-c++ 混编 的一个大误解 Objective-C++只是源代码,不是一种编程语言,它混合了Objective-C类和C++类(两个完全不相关的实体) Xcode:11版本 新建工程时,发现我只有objective-c,而没有objective-c++ 只好选择建了一个objective-c项目 objective-c 是.m后缀的,obje...

ljl1015ljl的博客 2095

中台战略-第五章、中台建设方法论

文章目录第五章、中台建设方法论5.1 中台架构整体策略5.2 业务顶层设计5.3 业务中台设计方法论5.3.1 能力支撑是基础5.3.2 中心自治是承载形式5.3.3 3层模型是骨架5.3.4 5步法是指导思想1. 业务抽象2. 高阶设计3. 组件建模4. 开发交付5. 持续运营5.4 数据中台设计方法论5.4.1 总体规划5.4.2 数据集成5.4.3 模型建设5.4.4 通用研发5.4.5 资产管理5.4.6 数据服务5.5 应用向中台迁移的3中途径和方法5.5.1 方法1:新应用替换旧应用5.5.2

沧海之巅的专栏 1461

Objective-C第一课 创建Xcode工程

介绍 Objective-C是苹果公司的iOS和Mac OS X操作系统上的原生编程语言。它是一门通用的编译型语言,能够用来构建命令行工具、图形界面应用以及二进制库。它同时提供了各种用来维护大规模框架的工具。 Objective-C应用程序类型 与C++类似的是,Objective-C也是设计用来给C语言添加面向对象的特性,只不过是它们采用了不同的思想来实现。Objective-

戴维营教育 1338

基于Python的海关进出口数据爬取与贸易关系分析

本文介绍了如何使用Python爬虫技术获取海关进出口数据,并基于这些数据进行贸易关系分析。文章详细阐述了数据采集、清洗、存储和分析的全过程,使用了最新的爬虫技术和数据分析方法,为国际贸易研究提供数据支持和技术参考。关键词:Python爬虫、海关数据、贸易分析、数据可视化、Selenium、Scrapy。

2201_76125261的博客 544

【2024年华为秋招-12月25日-第三题(300分)- PCB印刷电路板布线】(题目+思路+Java&C++&Python解析+在线测试)

在PCB印刷电路板设计中,器件之间的连线需要避免线路的阻抗值增大、而且赛件之间还有别的器件和别的干扰源,在布线时我们希望受到的干扰尽量小。现将电路板简化成一个M×N的矩阵,每个位置(单元格)的值表示其源干扰度。如果单元格的值为0,表示此位置没有干扰源;如果单元格的值为非0,则表示此位置是干扰源,其值为源干扰度。连线经过干扰源或干扰源附近会增加连线的总干扰度。位置Axy的干扰源的源干扰度为dd01、若连线经过位置Axy,则其总干扰度会增加d;2、若连线经过离位置A。

m0_73659489的博客 344

Objective-C入门 Xcode创建 HalloWorld

一、创建第一个Objective-c程序 启动 Xcode。初次启动的时候,也许会弹出一个“Welcometo Xcode”的一个对话框,我们可以把它关掉。 然后是选择屏幕上部菜单的“File ->New -> Project”,出现了一个让你选择项目种类的对话框。选择Application,右边选择command line tool 即命令行控制台,在弹出来的窗口选择Objective-c。

ChristmasGuus 613

电源完整性分析:PDN阻抗与去耦电容设计——目标阻抗计算与电容选型深度实战

摘要:随着嵌入式处理器主频突破 GHz、多核架构普及,电源完整性(Power Integrity, PI)已成为高速 PCB 设计中不可忽视的关键环节。本文从 PDN(电源分配网络)阻抗模型出发,系统讲解目标阻抗计算方法、去耦电容选型策略、反谐振抑制技术,并结合 STM32F4 核心板的完整设计实例,提供一套可落地的电源完整性工程实践方案。电源完整性设计是一项系统工程,需要从目标阻抗计算电容选型反谐振抑制PCB 布局目标阻抗是设计的起点,由电源电压、纹波要求和瞬态电流决定去耦电容。

从事移动开发八年,csdn博客专家,阿里云特邀专家,华为云云享专家,高级网络信息安全工程师,大数据工程师(高级),python技术开发(高级),HarmonyOS 应用开发者高级认证,现在某学校任教。 1万+

XCode、Objective-C、Cocoa !!!

大部分有一点其他平台开发基础的初学者看到XCode,第一感想是磨拳擦掌,看到 Interface Builder之后,第一感想是跃跃欲试,而看到Objective-C的语法,第一感想就变成就望而却步了。好吧,我是在说我自己。 如果你和我一样,对苹果相关的开发:Mac OS X或

Code Heaven 2077

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Xcode Objective-c学习笔记

Objective-c 简介 基础用法示例 //类方法调用 FirstClass *sampleClass = [[FirstClass alloc] init]; [sampleClass sayHello]; //定义变量 注意驼峰命名、 int _appName; char characterA = 'A'; //类型转换 float floatNum = 1.2;

u010689434的博客 2070

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

xcode的Objective-C之helloworld

shareinfo2018 487

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Objective C基础教程——Xcode工程创建

Objective-C只不过是拥有一些附加特性的C语言。本文将构建第一个Objective-C程序,同时介绍一些关键的附加特性。 ##2.1 最简单的Objective-C程序 我们来写一个最简单的Hello World。 ###构建Hello Objective-C 此时我们需要一个IDE(Integrated Development Environment)在这里我们需要Xcode。打开Xco...

Zhanganliu的博客 935

[XCode] XCode 6给 ViewController 创建类的时候找不到 Objective C Class 选项

参考:http://stackoverflow.com/questions/26009639/xcode-6-creating-new-objective-c-class 【问题】 在先前的XCode4中,为一个 ViewController  创建一个Object C 的类的时候,可以通过 create new-->Objective C Class 的方式做到。但是在 XC

yasi_xi的专栏 5446

【无标题】Xcode创建objective-c与CocoaPods项目简介

Xcode创建objecctive-c项目简介

weixin_67362324的博客 1008

在Xcode中使用C++与Objective-C混编

有时候,出于性能或可移植性的考虑,需要在iOS项目中使用到C++。 假设我们用C++写了下面的People类: // // People.h // MixedWithCppDemo // // Created by Jason Lee on 12-8-18. // Copyright (c) 2012年 Jason Lee. All rights reserved. // #ifnd

JasonLee的专栏 2万+

ios Objective-c 代码修改xcode中的布局

方法1: 直接遍历这个控件的所有布局 ///遍历布局 for (NSLayoutConstraint *constraint in self.view.constraints) { ///找到高度布局 if (constraint.firstAttribute == NSLayoutAttributeHeight) { ...

qq_41586150的博客 397
上一篇: 找钱方式:递归,循环的解法
下一篇: Python学习总结
圆形毕露
博客等级 码龄17年 20粉丝 103原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值