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

SIMPLIS实战:从零构建理想BUCK电路,精准计算与POP稳态分析

本文详细介绍了如何使用SIMPLIS软件从零开始构建并仿真一个理想的BUCK降压电路。通过设定关键参数、计算理想器件值,并搭建仿真模型,文章重点演示了暂态仿真以观察电路上电过程,并深入讲解了高效的POP(周期性工作点)稳态分析技术,帮助工程师快速验证设计、评估稳态性能,从而加速电源设计迭代。

weixin_29165465的博客 396

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

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

color99的专栏 9988

SAP高级外币评估_FINS_FXV_S4 2022 OP

摘要:S/4HANA 2022 On-Premise中的高级外币评估(FINS_FXV)取代了经典外币估值(FAGL_FCV),提供更优化的财务结算功能。主要创新包括:增量发布逻辑、简化账户配置、行项目级估值可见性等。该功能支持IFRS9等会计准则,通过会计原则(Accounting Principle)进行配置,需完成财务报表版本定义、语义标记分配等必要设置。系统演示展示了从汇率维护(FB60/MIRO)、测试运行到最终过账(FB03)的完整流程,能自动计算并过账汇率差异。高级外币评估简化了期末结算操作,

yanzibing99的博客 1260

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

CANoe信号波形分析保姆级教程:Graphic窗口从配置到实战避坑

本文详细解析了CANoe的Graphic窗口在信号波形分析中的高效配置与实战应用技巧。从信号显示模式选择、测量光标进阶操作到信号分组策略,提供工程化解决方案,帮助工程师快速定位总线信号异常,提升汽车电子开发与测试效率。

weixin_29279047的博客 268

具身智能的边缘计算核心构成方案

摘要: 具身智能(Embodied Intelligence)依赖物理实体与环境交互,而边缘计算(Edge Computing)通过本地化数据处理降低延迟、提升实时性。两者结合的核心方案包含五层架构:传感器层采集环境数据,边缘处理单元执行本地计算,通信模块实现低延迟传输,决策引擎运行轻量AI模型,执行器接口转化动作为物理操作。该方案以“边缘优先”为原则,满足毫秒级响应(如延迟<50ms),同时优化能效(功耗降低30%)和隐私保护。适用于机器人、自动驾驶等场景,通过分层闭环设计确保在资源受限环境中的可靠

老郑的博客 812

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

RK3588设备树节点实战:从零配置音频与显示模块(ES8388+DSI0)

本文详细介绍了在RK3588平台上配置音频编解码器ES8388和显示接口DSI0的设备树节点实战。通过具体案例拆解设备树节点的编写逻辑与调试技巧,包括音频路由与声卡配置、DSI控制器基础配置、视频通路路由配置以及电源管理与时钟树设计。文章还提供了调试工具与实战技巧,帮助开发者快速解决常见问题。

weixin_42525637的博客 353

Objective-C第一课 创建Xcode工程

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

戴维营教育 1338

广工计组实验f2一位全加器

一位全加器实验

weixin_63692154的博客 2847

STM32驱动数码管:从硬件连接到动态显示实现

本文详细介绍了使用STM32单片机驱动数码管的完整流程,从硬件连接到软件实现。内容涵盖共阳/共阴数码管原理、GPIO配置、段码表生成,并重点解析了多位数码管动态显示的核心技术,包括动态扫描原理、消影处理及实战代码,帮助开发者快速掌握这一嵌入式开发基础技能。

p5l2m9n4o6q的博客 575

Objective-C入门 Xcode创建 HalloWorld

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

ChristmasGuus 613

用 CL_HTTP_CLIENT 正确处理 Cookie,彻底解决 SAP Gateway OData 的 CSRF Token 校验失败

SAP OData 集成中 CSRF Token 校验失败的解决方案 问题现象:使用 Postman 测试 OData 写入成功,但 ABAP 代码调用时出现 CSRF token validation failed 错误。 根本原因:Postman 自动处理 Cookie,而 ABAP 代码仅获取了 CSRF Token 却遗漏了 Cookie 信息。SAP Gateway 要求修改请求必须同时携带 Token 和 Cookie 才能通过校验。 解决方案: 通过 GET 请求同时获取 CSRF Token

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 433

XCode、Objective-C、Cocoa !!!

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

Code Heaven 2077

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Xcode Objective-c学习笔记

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

u010689434的博客 2070

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

xcode的Objective-C之helloworld

shareinfo2018 487

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

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、付费专栏及课程。

余额充值