关于objective-c的两个问题:框架链接和;“自我”;以点算,;方括号表达式
我现在正在学习iphonedev。现在我正在读《iPhone4开发》一书。在阅读本书的过程中,我对本书中使用的objective-c的一些语法感到困惑。好的,以下是我的问题:关于objective-c的两个问题:框架链接和;“自我”;以点算,;方括号表达式,objective-c,frameworks,square-bracket,dot-operator,Objective C,Frameworks,Square Bracket,Dot Operator,我现在正在学习iphonedev。现在我正在读《iPhone4开发》一书。在阅读本书的过程中,我对本书中使用的objective-c的一些语法感到困惑。好的,以下是我的问题: 链接框架v.s.头文件 在本书第7章的末尾,本书提到“将项目链接到框架”。在本书中,它将项目链接到AudioToolbox.framework。我想知道为什么不添加头文件而不是链接框架?链接到框架和添加头文件之间有什么区别 点&“[]”表达式中的“self” 在本书的第9章中,示例代码多次使用点运算符和方括号表达式
- 链接框架v.s.头文件
- 点&“[]”表达式中的“self”
SecondLevelViewController*controller=[controllers objectAtIndex:row]代码>和SecondLevelViewController*nextController=[self.controllers objectAtIndex:row]我认为这两个句子有相同的功能。那么我什么时候应该使用“自我”?什么时候没有
谢谢,
Sam链接框架,就像在visualstudioforwindows中一样,告诉编译器在哪里可以找到库
然后添加相关的include/import调用,以便编译器从源代码中导入的库中找到您的类,执行import/include操作,访问库,然后返回(或多或少,确切的行为无关紧要)
关于self的问题是一个明确的重复问题,因此在编写self.outlet=nil
方法[self-setOutlet:nil]时,请检查“objective-c self”…代码>被调用。当您写入outlet=nil时代码>您可以直接访问变量outlet
如果您使用@outlet
然后自动生成方法setOutlet:
,如果您拒绝将属性指定为@property(retain)NSObject outlet,则会在分配新对象之前释放对象代码>
从开始,提出两个不同的问题会更有意义(这会让你发现你的问题已经得到了回答),我的意思是,删除关于自我操作员的部分(现在你知道这是一个重复的问题,没有用)这是答案,顺便说一句,由于第一部分的原因,答案并没有下降。我认为问题之间的距离足够远,可以飞起来。不过,社区可以随意超越我。谢谢你的建议,凯达。谢谢你的回答。我将检查“object-c self”。谢谢,但我仍然不明白为什么在[self.controllers objectAtIndex:row]中使用“self”?是否有必要?如果您有使用@synthesis controllers=\u controllers
语法化的变量\u controllers
,则只能键入[\u controllers smthHere]
或[self.controlles smthHere]
。是的,@Nekto,你说得对。非常感谢。我还发现了一篇关于through stackoverflow的文章,上面说的和你一样: