任何人请让我知道一些链接或单元测试用户界面代码的例子。
是否有一个完整的示例应用程序
提前感谢,,
Bhanu我不知道有任何公开的工具可以用于测试Cocoa应用程序的UI。根据您希望测试的内容,您会发现它是有用的。单元测试UI通常比听起来复杂得多,特别是因为UI在开发过程中(以及跨本地化)往往会发生很多变化。如果您说的是直接测试按钮X是否触发代码Y,或者如果单击X导致UI操作Y发生,那么您可能运气不好。不过,您当然可以。如果您的应用程序可以访问,您可以使用Automator来测试用户界面。。。只
有没有办法知道NSAutoreleasePool中标记为释放的对象。没有。据我所知,你为什么想知道这个问题?我想检查某个特定对象是否标记为自动释放?我正在使用其他人编写的代码,它似乎泄漏了从函数返回的内存,我认为他们在归还之前没有自动归还物品。使用泄漏仪器检查它认为发生了什么。不要胡乱猜测这件事。使用它,您可以很容易地看到谁“拥有”对象。
伙计们,我想知道在没有活动互联网连接的情况下是否有可能显示MKMapView,如果有,我该怎么做?提前谢谢 你不必做任何特别的事。地图数据存储在设备上。它只是工作
我开发了一个基于地图的应用程序,我只是在飞行模式下运行它。很好。嗯,贾斯科尼厄斯,
我不确定你是对的,MKMapView使用谷歌在线服务,你可以在苹果的帮助中看到:
重要提示:MapKit框架使用Google服务提供地图数据。使用此类和相关接口将您绑定到Google Maps/Google Earth API服务条款。您可以在找到这些
是否有可能有一个静态通知观察者(如下面的代码)?我有一些问题,我想这可能是由于我的单例类结构
我并不总是有一个类实例来监听通知,但是这个类的静态属性在我的应用程序的生命周期中一直存在
- (id)init {
[super init]
[[NSNotificationCenter defaultCenter] addObserver:[self class]
selector:@selec
我想排序的plist有问题。这是一个高分,我想排序的球员排名。问题是排名是一个字符串,这会破坏排序(我得到1,10,2,3,4,5,6,7,8,9)
我需要用正确的方法来分类。对于排序,我使用:
NSArray *unSortedNames = [NSArray arrayWithContentsOfURL: plistURL];
NSSortDescriptor *descriptor = [[[NSSortDescriptor alloc] initWithKey:@"rating" asc
在基于文档的应用程序中,“文档级别”类的实例如何“知道”它们对应的文档?这是一种强制在类之间引入耦合的情况吗?他们说耦合不好或者应该最小化。你对此有何看法
再澄清一点:例如,在核心数据应用程序中,每个文档都对应一个MOC。假设我想要一个特殊的MOC控制器来控制MOC。现在,重复这个问题:这个类的实例如何“知道”它对应的文档?我是否被迫在其中放置一个指向控制文档的NSWindowController(或某个DocumentController)实例的ivar?或者有没有更好的方法来避免这些“文档级
拜托,我不明白我的代码出了什么问题:
float lng = [[stationEnCours objectForKey:@"ssiphone_longitude"] floatValue];
float lat = [[stationEnCours objectForKey:@"ssiphone_latitude"] floatValue];
location2D={latitude:lat,longitude:lng};//this line which cause error
MKCoo
有人能给我解释一下,如果我想写谷歌地图路由,语法是什么样子的吗
http://maps.google.com/maps?daddr=San+Francisco,+CA&saddr=cupertino
假设现在我不想使用地点的名称作为输入,我有来源/目的地坐标,我应该如何放置它
例如:
目标坐标=(12,32)
源坐标=(32,24)
但是上面的代码不起作用
NSString *urlstring=[NSString stringWithFormat:@"http://maps.goo
我发现了一个问题,但即使当它接近我需要的时候,它也是无用的
基本上,当另一个进程(已知名称)启动和/或终止时,我有一个应用程序需要做一些事情,但我没有PID,所以我无法设置一个kqueue来查找它
我可以为“ps aux | grep processtolook | grep-v grep”命令做一段时间,但这是我最后的选择
有什么想法吗?如果您想要PID的目标进程/程序名是“processtolook”,那么您可以使用pidof命令来获取正在运行的程序的PID
pidof processtol
我的应用程序中有一个文件打开对话框,可以从中选择文件,但是当用户单击对话框中的“选择”按钮时,它显然不会做任何事情。如何从所选文件中提取文件路径?我需要文件路径,以便可以获取要加密的文件内容。最初,我将使用的文件硬编码到我的应用程序中,但那只是出于测试目的。以下是我用于“文件打开”对话框的内容:
int i;
NSOpenPanel* openDlg = [NSOpenPanel openPanel];
[openDlg setCanChooseFiles:YES];
[openDlg setC
我使用推送通知通知用户他们有一条新消息。当新信息未显示警告信息时,是否可以仅显示徽章和声音。苹果会允许使用这种通知吗。如果是这样的话,有谁能告诉我如何进行
提前感谢请确保您只能显示徽章和声音。
为此,您必须做的是:-
您已将通知类型设置为写入:-
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeSound|UIRemoteNotificationTypeB
java中的Retainal方法函数objective-C中的替代方法是什么
java中的示例代码
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class MainClass {
public static void main(String args[]) {
String orig[] = { "1st", "2nd", "3rd", "4th", "5th"
我正在写一个ap,当你按下按钮时,按钮应该在0-10秒之间的随机时间内被禁用,然后,按钮再次激活。但是,当按钮被禁用时,如果用户单击,单击似乎只是排队等待按钮被启用,并且单击将被处理。我如何禁用用户单击而不将其排队
-(void)buttonPressed{
NSLog(@"Button pressed!");
button.userInteractionEnabled=false;
sleep(rand()%10);
progLabel.text=@"butto
我有以下代码
- (NSString *)stringByEscapingXMLEntities;
{
NSString *result;
@autoreleasepool {
result = [self stringByReplacingOccurrencesOfString:@"&" withString:@"&"];
result = [result stringByReplacingOccurrencesOf
我在目标C中有一个基本的最佳实践问题。我理解@class和#import之间的区别,但我不理解默认的Apple Xcode模板为什么会这样做:
AppDelegate.h:
@class视图控制器
.m:
#导入“ViewController.h
当您可以将后一个#import放在.h中,并将ViewController放在.m中,从而简化了一行代码
当然,保存一行代码不是问题,我只是好奇为什么会这样做?行@class ViewController;是一个转发声明,因此编译器知道名称ViewCo
我有一个既有tabbar又有navbar的应用程序
我加载到我的视图,它有一个包含3个视图的菜单。1幅风景画和2幅肖像画
我进入纵向视图,导航栏非常完美
我进入我的风景区,它的行为就像我想要的那样
当我回到纵向视图时,导航栏现在变小了
当我进入我的横向视图时,调用此代码:
-(void) viewWillAppear:(BOOL)animated
{
NSLog(@" viewWillAppear ");
[super viewWillAppear:animated];
appDeleg
我在iPad的主控端有一个PatientTableViewController,它有一个按钮用于添加新患者。它通过popover segue转换到这个新的PatientViewController
在新建PatientViewController中,我有一个“完成”按钮,该按钮将委托回PatientTableViewController:
- (void)newPatientViewController:(NewPatientViewController *)sender withZipCode
我的模型类大部分是用合成的setter/getter方法实现的,一切都很好。一切都很好地连接到用户界面。后来我意识到更改一个属性会导致其他属性的更改(更改type可能会导致minA和maxA中的更改),因此我手动为type属性编写了setter/getter方法。代码如下:
QBElementType
@interface QBElementType : NSObject
@property NSRange minRange;
@property NSRange maxRange;
如何确定何时更改了NSTabViewItem,即用户更改了NSTabView的视图
理想情况下,我希望生成一个通知,但任何解决方案都是受欢迎的。我的原始答案建议观察NSTabView的selectedTabViewItem,但这似乎不起作用(在测试中,我只能让它观察nskeyvalueobservingoptionial)
一个可能更聪明的解决方案是使用委托。在相关控制器中实现tabView:didselecttabview项目:
文档。以下是Swift 3中的一个示例
为充当NSTabView
我注意到在iOS 5.0或5.1中。我决定试着写我自己的。我对如何填充数据以及如何以一种理智和内存高效的方式维护日期标签感到困惑
每个组件中实际有多少行?这些行什么时候会“重新加载”新标签
我将对此进行一次尝试,我会在发现后发布,但如果您知道任何事情,请发布。我猜您使用的是UIPickerView
UIPickerView的工作原理与UITableView类似,因为您指定另一个类作为数据源/委托,它通过调用该类上的方法(该类应符合UIPickerViewDeleteGate/dataSource
我正在开发一个iOS应用程序,我正在使用:
mutableString = [mutableString stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
但问题是,当我的mutableString包含这样的字符串“…一个“连接方式”…”或这样的字符“-”时,stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding返回一个null值
如
例如,如果我有一个属性索引和一个ivar\u索引,那么使用self.index、[self-index]和[self-setIndex://self-setIndex:?使用访问器会带来开销,至少是一个方法调用
也就是说,猜测和证明是不同的事情。开销可能很大,也可能不是。在任何情况下,分析应用程序都会显示CPU时间花在哪里以及应该优化什么。我严重怀疑在直接IVAR上使用访问器会影响任何应用程序,因为应该避免使用访问器
原子属性和复制属性将慢得多,这些选择将产生更大的影响,应该更加仔细地考虑。在适
我想知道是否有可能为iPad应用程序制作一张带文本的幻灯片并添加一些动画。请参阅下面的屏幕截图,了解我需要什么。我要那家伙跳上跳下,微笑。我确信我自己无法使用Objective-C原语绘制该图像,因此我考虑以下选项:
在第三方工具(Adobe?)中完成动画,然后将其作为单个独立文件添加到幻灯片中。但我不知道iOS支持什么格式,什么是标准格式,以及最后如何在幻灯片上插入该文件。有人能澄清一下吗
完成动画,然后将帧另存为图像,然后快速更改图像以产生电影的错觉
我错过什么了吗?还有别的办法吗?最好的选
如果我有一个分组的UITableView,它的边缘会有一个浅灰色的边框/缓冲区。有没有办法知道这个缓冲区有多大,或者等效地说,它里面的实际白色单元格有多大?这就是如何消除分组UITableView的左右边距的方法。只是UITableViewCell的子类。请注意,如果希望边距不是0,只需更改setFrame方法以满足您的需要
//In CustomGroupedCell.h
#import <UIKit/UIKit.h>
@interface CustomGroupedCell :
所以我制作这个应用程序,如果你按下一个按钮,就会有声音播放,但当我按下按钮时,应用程序崩溃了。这是我的密码
在.h文件中
#import <UIKit/UIKit.h>
#import <AudioToolbox/AudioToolbox.h>
@interface ViewController : UIViewController {
}
-(IBAction)buttonPressedWithSound:(id)sender;
@end
这条线在这里
NS
我正在使用Rayh教程作为参考。它在一个测试项目中工作得非常好。现在在我的实际项目中,我有一个带有许多按钮的视图控制器,在左下方,我有一个mapkit。它大约有3*3魔方大小。我想说的是它很小,不是全屏/半屏。因此,我在这里尝试测试项目中的示例,但它没有显示位置。它显示了世界地图。不是我的位置
-(void)viewWillAppear:(BOOL)animated
{
CLLocationCoordinate2D zoomLocation;
zoomLocation.latitude = 39
是否有一种方法可以搜索我的项目,以查找我使用某个类的对象的位置
我想在我的应用中将所有日期更改为本地化日期。我可以搜索关键字“date”,这应该是可靠的,但它会显示大量其他结果,如“update”和类似的关键字
所以,我希望能够找到我在哪里使用了NSDate类的对象。有可靠的方法可以做到这一点吗?我知道我可以搜索关键字“NSDate”,但我可能并不总是使用它-例如,在返回NSDate的方法中,我可以这样调用它:
[NSString stringWithFormat:@"%@", [self th
我试图在宏定义中使用块,但运气不好
代码如下:
#define IPHONE_OR_IPAD_BLOCK(void(^iphoneBlock)(void), void(^ipadBlock)(void)) ({ \
if (iphoneBlock && (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)) \
{ \
iphoneBlock(); \
} \
else i
下面的代码在iOS 5上运行良好,但在iOS 6或更高版本上运行不好。
我想要的是,对于Email composer工作表,navigationBar图像将不同于其他UINavigationBar类。我无法理解调试指针正在响应外观方法,但在设备上它将navigationBar图像显示为“bgNavigationBar.png”;应为“bgNavigationBar_2.png”
请引导我
if ([[UINavigationBar class]respondsToSelector:@select
我需要使用类别重写一个方法。我也意识到这样做的危险性(这是另一个类中的私有类,没有人会编写另一个重写category方法,因此不能保证有未定义的行为)。我见过很多类似的例子,但它们都使用以下内容来解决抑制编译器警告的问题:
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wobjc-protocol-method-implementation"
// do your override
#pragma clang
有人能解释一下从CGPoint开始的这行代码到底是怎么回事吗。这来自于-(void)CCTouchesBegind
UITouch* touch = [touches anyObject];
CGPoint location = [touch locationInView:[touch view]];
特别是我不理解[触摸视图]部分
谢谢
特别是我不理解[触摸视图]部分
[touch view]是用户实际触摸的UI视图
通过阅读我的书中关于触摸的章节(至少在前几页),您可能会得到进一步的帮助:
我试图检测用户在登录Facebook帐户时发送了多少邀请。例如,我通过邀请3个朋友使用iOS应用程序,为用户提供了购买物品的选项。如果他们邀请3人,他们将获得该物品的奖励。我真的被这件事难住了。任何帮助都将非常感谢 经过大量研究,我实际上找到了这方面的代码片段。我不记得它是否在这里,但它在这里
- (IBAction)inviteFacebookFriendsButton:(id)sender
{
// FBSample logic
// if the session is op
我试图在UIAlertView中包含UIExtField,代码如下:
UIAlertView *newLabel = [[UIAlertView alloc]initWithTitle:@"New Label" message:@"\n" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil];
UITextField *newLabelNameField = [[UITextField alloc]init
我在XCode 4.6中创建了一个简单的Cocoa应用程序,它使用NSPanel而不是默认的NSWindow。当我启用非激活
选项并启动应用程序一切正常:
面板显示在所有其他内容的前面,并且
鼠标光标悬停在面板的边缘上,它将从法线更改
将光标指向适当的调整大小光标,以便用户知道他可以调整大小
专家组
只要我不点击任何其他应用程序,它就可以正常工作
比如说狩猎旅行或寻找者
从我关注另一个应用程序的那一刻起,
我可以点击并将鼠标悬停在面板上
光标样式将不再更改-它始终保持为箭头,并且不可能恢复正常行
我正在尝试创建一个简单的电话簿应用程序,允许我给列表中的人打电话。该应用程序根据姓氏按字母顺序在不同部分列出联系人的姓名和电话号码。一切都正常显示,我的问题是当我选择一个联系人并被提示“取消”或“呼叫”时,alertView中的“呼叫”按钮没有任何作用
以下是我正在使用的代码(urlString是一个全局变量):
对于名称/编号的不同部分,有更多具有相同代码的if语句,为了节省空间和时间,我刚刚添加了一部分
这里是我试图让“呼叫”按钮实际呼叫号码的地方:
-(void)alertView:(UI
我刚刚读到,它的解决方案似乎令人信服:
串行队列用于同步访问
dispatch_get_specific/dispatch_set_specific用于提供重入功能
我感兴趣的是,是否有可能推进此方案,以实现并发调度队列的可重入锁定机制(每个读取都使用dispatch\u sync完成,写入都使用dispatch\u barrier\u async完成,如上所述)
另外,我想我已经通过[NSThread currentThread].threadDictionary实现了这一点,但我不喜欢处
我试图使用NSTextContainer和NSTextStorage在UITextView中显示一些属性文本,但在textview中看不到任何绘制的内容(textview本身根据需要以白色背景绘制,但其中没有属性文本)
但是,我可以通过将UITextView的.attributedText属性设置为我的属性文本字符串来实现这一点,但我想知道我在这里做错了什么,或者我误解了什么概念。希望有人能解释
- (void) test
{
UIView *mainView = [[UIView al
如何在iOS 7 SDK中为NSString获取CGSize值,只需将以下代码行转换为sizeWithAttributes
CGSize size = [text sizeWithFont:[UIFont systemFontOfSize:FONT_SIZE] constrainedToSize:constraint lineBreakMode:NSLineBreakByWordWrapping];
你可以试试这个
NSDictionary *attributes = @{NSFontAtt
如何在一个带有NSTableViewDelegate的ViewController上有多个nstableview?如何区分这些表格
例如:
我有NSTableView*countriesTable显示国家列表。当用户选择国家时,NSTableView*citiesTable应根据countriesTable的selectedRow加载相关城市
countries数组是一个country对象数组,每个country对象包含属性和另一个数组。因此,我必须引用所选对象内部的数组
这个概念看起来很简单,
我正在尝试使用@iAction将按钮单击事件绑定到Swift方法。在Objective-C中,iAction的参数类型是id。Swift中id的等效值是什么?Swift 3
Any,如果您知道发件人从未nil
@IBAction func buttonClicked(sender : Any) {
println("Button was clicked", sender)
}
@IBAction func buttonClicked(sender : Any?) {
print
在Mac OS X上,我知道在Cocoa中我可以设置一个观察者来检测未来的屏幕保护程序事件或工作区锁定事件,如下所示:
- (id)init {
if ((self = [super init])) {
NSDistributedNotificationCenter* distCenter =
[NSDistributedNotificationCenter defaultCenter];
[distCenter addObserver:sel
非常简单,我需要一个基本的方法来在不同用户拥有的进程之间发送广播类型的事件,这样我就可以协商一个简单的排队机制(以防止进程试图同时完成所有的工作)
现在,我所知道的唯一一个这样做的系统是通过notifyd,或者更具体地说,通过使用Objective-C(或者实际上是C++/C?)中提供的各种notify函数
然而,at lot已经发生了变化,特别是我正在尝试重新使用Swift,同时编写一个应用程序,它将很好地与新的Mac应用商店所需的沙箱方案配合使用。所以我很好奇,在OSX中,通过notifyd
我已经使用命令创建了一个新的swift lib pod:pod lib create MixSwiftObjectiveC found from
在这个pod库中,我需要使用一个用Objective-C编写的代码。
如果我有一个单独的“普通”项目,我只会在头文件中包含导入…-bridgeing header.h。
pod库是否有一个等价物?Swift和Objective-C能在pod库中混合使用吗
例如,我创建了这个github:
为了运行该示例,您需要XCode版本7.0 beta 6和Swi
如何在ios 8或ios 9中从objective-c解压文件,我使用和另一个框架但不工作显示“Build Projectname Failed”,但不显示错误或警告。您可以尝试此库:
然后你可以用这个代码解压
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths object
我试着让AVSpeech说出字符串中的两个NSString*组合并将其传给AVSpeech。但是只有speekone被传递到了合并字符串。所以我只说了第一句话。我是否以某种方式声明字符串错误,或者我是否需要更改我的方法
- (IBAction)UIButtonPlayPressed:(UIButton *)sender{
NSString *speekone = _activity.activityName;
NSString *speektwo = _activity.activityDesc
对于集成,我们试图在从IOS和Android扫描设备时唯一地识别每个BLE设备
当我们从Android和IOS扫描设备时,我们得到了以下关于BLE设备的信息
安卓:
设备ID:B0:B4:48:C8:66:82
B0:B4:48:C8:77:82
IOS:
设备ID:iPHone-6
"9CDEF5C0-6F20-7849-2670-323E3052822C",
"7627B0D4-DF20-815C-2984-A4AF4B413C3A"
iPHone 5
"8501DC03-D0E7-
我想从3个输入号码创建一个唯一的id。我不在乎输出是什么,只要它是唯一的。输入数字为:
NSNumber num
NSUInteger hash
int i
输出应为:
unsigned int id
我不关心任何输入数字的精度损失,因此我考虑将id计算为:
id=(无符号整数)num+(无符号整数)hash+(无符号整数)i
但我发现有两个问题:
整数溢出时会发生什么情况
我在查找有关Objective-C中整数溢出发生的情况的文档时遇到问题
我找到的最好的来源是这篇文章,它说结果是未定义
在我的应用程序提前退出后,我在控制台中收到以下消息,因为它将以NSException类型的未捕获异常终止
*由于未捕获异常“NSRangeException”而终止应用程序,原因:'*-[\uu NSArrayM objectAtIndex:]:索引25超出空数组的界限'
这是我的密码:
NSMutableArray *redValues = [NSMutableArray array];
NSUInteger redValuesLength = [redValues count];
float
我想将“self.view”和“subView”之间的边距更改为UIEdgeInsetsZero,但它保持不变(0,16,0,16)。
我如何解决这个问题,为什么它是(0,16,0,16)而不是(8,8,8,8)
根据:
如果视图是视图控制器的根视图,则系统将设置和管理页边距。上下页边距设置为零。侧边距根据当前的尺寸等级而变化,但可以是16或20点。您不能更改这些页边距
因此,如果您希望self.view和subView之间的填充分别为(8,8,8,8),那么对于水平约束和垂直约束,您需要将视
我正在尝试为我的Objective-C项目创建一个单元测试,并完成以下步骤:
文件>新建>目标
选择iOS单元测试包
我选择我的项目作为“待测试目标”
Xcode为测试创建.m文件
当我导入我想要测试的类时,它以红色高亮显示该行,并显示ViewController.h文件未找到
我缺少什么,为什么我的测试类不能导入其他类
我使用的是Xcode 10.1,我以前从未遇到过这个问题
谢谢
FP只需为测试目标创建新模式。之后,您的项目资源将链接到您的测试目标。在Xcode 10.1中,当您导入测试类中