小编smo*_*gan的帖子

类别可以同时实现协议吗?

如果我为类创建的类别添加的方法也符合协议规定的合同,我想将该类别标记为实现协议,从而向Obj-C预处理器指示class也有效地实现了协议.

示例代表(为了清楚起见,感谢Ole!):

@protocol SomeDelegate <NSObject>
  - (void)someDelegateMessage;
@end
Run Code Online (Sandbox Code Playgroud)

示例类别:

@interface NSObject (SomeCategory) <SomeDelegate>
  - (void)someDelegateMessage;    
@end
Run Code Online (Sandbox Code Playgroud)

并且具有其他典型的实现

@implement NSObject (SomeCategory)
  - (void)someDelegateMessage {}
@end
Run Code Online (Sandbox Code Playgroud)

当我实际尝试这个时,我会收到每个NSObject方法的警告:

警告:类别'SomeCategory'的执行不完整

警告:找不到'-description'的方法定义

...

警告:找不到'-isEqual:'的方法定义

警告:类别'SomeCategory'没有完全实现'NSObject'协议

如果我<SomeDelegate>从声明中删除,工作正常,但当然NSObject不被识别为SomeDelegate

cocoa protocols objective-c categories

27
推荐指数
2
解决办法
7737
查看次数

比较Objective-C中的浮点数的奇怪问题

在算法的某个时刻,我需要将类的属性的浮点值与浮点数进行比较.所以我这样做:

if (self.scroller.currentValue <= 0.1) {
}
Run Code Online (Sandbox Code Playgroud)

其中currentValue是一个浮动属性.

但是,当我具有相等性并且self.scroller.currentValue = 0.1if语句未满足且代码未执行时!我发现我可以通过将0.1转换为浮动来解决这个问题.像这样:

if (self.scroller.currentValue <= (float)0.1) {
}
Run Code Online (Sandbox Code Playgroud)

这很好用.

任何人都可以向我解释为什么会这样吗?默认情况下,0.1是否定义为double?

谢谢.

iphone floating-point casting objective-c

23
推荐指数
2
解决办法
3万
查看次数

Objective-C代码混淆

有没有办法混淆Objective-C代码?

谢谢

objective-c

12
推荐指数
2
解决办法
7712
查看次数

字符串替换在C++中

我花了最后一个半小时试图弄清楚如何string在C++中运行一个简单的搜索和替换对象.

我有三个字符串对象.

string original, search_val, replace_val;
Run Code Online (Sandbox Code Playgroud)

我想在运行一个搜索命令originalsearch_val,并与全部替换replace_val.

注意:仅限纯C++中的答案.环境是Mac OSX Leopard上的XCode.

c++ string macos

11
推荐指数
1
解决办法
4672
查看次数

如何在iPhone上显示uilabel的倒计时?

我在视图上有一个uilabel和一个uislider.我想用slider.range of slider设置标签的时间是00:00:00到03:00:00.意味着3个小时.并且滑块上的干涉是0.5分钟.也是如何显示.即使应用程序关闭,我也希望计时器运行.

objective-c nstimer iphone-sdk-3.0

10
推荐指数
1
解决办法
1万
查看次数

如何使用目标c在osx中​​收集系统信息

是否有任何方法/ API来收集osx中的系统信息.我想编写实用程序,它将收集CPU,RAM,网络适配器等硬件信息.任何的想法 ?提前致谢.

macos objective-c

7
推荐指数
2
解决办法
7476
查看次数

使用Objective-C中的.mm文件有什么怪癖/惊喜?

我想在Objective-C iPhone应用程序中使用一些C++ STL集合.显然,这可以通过为文件提供扩展名".mm"来实现.有什么与此相关的怪癖/惊喜?

我想使用我熟悉的基本容器(矢量,队列,集合......)

干杯!

c++ objective-c objective-c++

5
推荐指数
2
解决办法
3728
查看次数

如何使用AFP将Windows客户端连接到OSX服务器

我们正在使用带有AFP(Apple文件协议)的OSX服务器和客户端,并希望将唯一的Windows(Vista x64)客户端连接到服务器共享,而无需启用SMB.是否还有适用于Windows的AFP客户端?

我发现的所有内容都是Windows AFP服务器,但这不是我们所需要的.

macos client afp

5
推荐指数
1
解决办法
2万
查看次数

终止另一个运行的应用程序 - 可可

如何终止在cooca中运行的另一个应用程序.假设我有iTunes运行,我在我的应用程序中键入退出,它将退出iTunes."iTunes"只是一个例子,它可以是用户想要的任何东西.我可以从我的应用程序中打开任何应用程序,但我想知道如何关闭任何运行的应用程序.

谢谢

凯文

cocoa objective-c terminate

5
推荐指数
2
解决办法
4638
查看次数

如何判断目标在Objective-C中是否可写?

我想使用一个打开的面板让用户选择一个目的地,但我想在那一点提醒他们该目录是不可写的.我通常更喜欢创建它并处理错误,但这对我来说没用,因为我还不想创建文件夹.(当我创建它时,我肯定会处理错误,如果有的话.)

我认为可能有一个更好的方法,而不是只是创建它并删除它,这会很臭.

我尝试这样做,认为"文件"可能意味着文件或目录像其他一些方法.

NSFileManager *fm = [NSFileManager defaultManager];
[fm isWritableFileAtPath:destinationString]
Run Code Online (Sandbox Code Playgroud)

(我不确定我是否想要提供身份验证来覆盖权限,但请随时告诉我如何.)

macos file-io cocoa objective-c

5
推荐指数
2
解决办法
2863
查看次数