带参数的iPhone SDK函数/方法
我正在创建一个应用程序,在该应用程序中,我多次执行相同的操作。我将尽可能少的代码,我不想重复我自己 我需要一个可重用函数的PHP等价物,在这里我设置了一个输入,该函数将返回输出 该应用程序是一个URL缩短器,因此您可以假设输入是一个URL,输出是一个简短的URL 最好的办法是什么?我知道我可以对同一件事编写两次代码,但我讨厌重复我自己 希望我能把我的观点讲清楚。非常感谢您的帮助。带参数的iPhone SDK函数/方法,iphone,objective-c,function,methods,Iphone,Objective C,Function,Methods,我正在创建一个应用程序,在该应用程序中,我多次执行相同的操作。我将尽可能少的代码,我不想重复我自己 我需要一个可重用函数的PHP等价物,在这里我设置了一个输入,该函数将返回输出 该应用程序是一个URL缩短器,因此您可以假设输入是一个URL,输出是一个简短的URL 最好的办法是什么?我知道我可以对同一件事编写两次代码,但我讨厌重复我自己 希望我能把我的观点讲清楚。非常感谢您的帮助。 -Giles如果我过分简化了你的问题,我深表歉意,但你是在问如何定义Objective-C方法吗?如果是这样,你将不
-Giles如果我过分简化了你的问题,我深表歉意,但你是在问如何定义Objective-C方法吗?如果是这样,你将不得不学习Objective-C,没有办法: - 在iPhone和Mac平台上,你可以不用代码就完成很多伟大的事情,但是如果不编写一些代码,很难想象完成任何有用的应用程序 示例
- (float)multiplyThisFloatByTwoPointFive:(float)numberToMultiply
{
return numberToMultiply * 2.5;
}
称之为:
[self multiplyThisFloatByTwoPointFive:3.7];
库
如果您的意思是“我想把这些非特定于类的方法放在一个我可以普遍访问它们的地方”,例如,一个库,您可以通过两种方式来实现:
如果我过分简化了你的问题,我深表歉意,但你是在问如何定义Objective-C方法吗?如果是这样,你将不得不学习Objective-C,没有办法: - 在iPhone和Mac平台上,你可以不用代码就完成很多伟大的事情,但是如果不编写一些代码,很难想象完成任何有用的应用程序 示例
- (float)multiplyThisFloatByTwoPointFive:(float)numberToMultiply
{
return numberToMultiply * 2.5;
}
称之为:
[self multiplyThisFloatByTwoPointFive:3.7];
库
如果您的意思是“我想把这些非特定于类的方法放在一个我可以普遍访问它们的地方”,例如,一个库,您可以通过两种方式来实现:
在这方面我几乎是个新手,但您当然可以用Objective C编写函数(而不是方法) 我最近写了几个实用函数。我创建了一个NSObject文件来放置它们,但它没有声明IVAR或方法,只有函数。然后实现.m文件中的函数,并将.h文件导入到需要函数的任何类文件中。显然,您可以从导入函数文件的任何.m文件中的任何位置调用这些函数
约翰·多纳(John Doner)我在这方面是个新手,但你肯定可以用Objective C编写函数(而不是方法) 我最近写了几个实用函数。我创建了一个NSObject文件来放置它们,但它没有声明IVAR或方法,只有函数。然后实现.m文件中的函数,并将.h文件导入到需要函数的任何类文件中。显然,您可以从导入函数文件的任何.m文件中的任何位置调用这些函数
John Doner从技术上讲,没有什么能阻止他对objective-C对象使用C函数,这似乎是人们普遍不赞成的。我可能会把它放在某个单独的类中(app delegate?),或者像你提到的那样作为一个类上的静态方法。从技术上来说,不仅没有什么东西能阻止他,而且这很常见。我很好奇为什么有人会反对它——Objective-C是C的超集。我提到C函数用于C-primitive-only例程,因为如果调用非常频繁,您会获得一些速度,从而减少Obj-C消息调度开销。在高吞吐量计算中,这会产生巨大的差异。当然,首先要测量。:-)从技术上讲,并没有什么能阻止他对objective-C对象使用C函数,这似乎是人们普遍不赞成的。我可能会把它放在某个单独的类中(app delegate?),或者像你提到的那样作为一个类上的静态方法。从技术上来说,不仅没有什么东西能阻止他,而且这很常见。我很好奇为什么有人会反对它——Objective-C是C的超集。我提到C函数用于C-primitive-only例程,因为如果调用非常频繁,您会获得一些速度,从而减少Obj-C消息调度开销。在高吞吐量计算中,这会产生巨大的差异。当然,首先要测量。:-)可能重复的可能重复的地方是代码示例;(这是对“是的,你可以”的漂亮回答。代码示例在哪里;(这是对“是的,你可以”的漂亮回答。)