我们如何在不使用release的情况下清除NSMutableData,然后重新分配/init以再次使用?
我看到resetBytesInRange被设置为零,但我不确定这一点。任何人都可以提供帮助?如果您需要空缓冲区:
[data setLength:0];
如果要保持其大小,但将所有字节设置为零:
[data resetBytesInRange:NSMakeRange(0, [data length])];
data.resetBytes(in: NSRange(location:0, l
目标c | xcode | iphone问题
我正在为一个货币交易构建一个模型(数据)类,并且有一个关于指针和对象复制的基本/noob问题。我正在创建的事务类包含4或5个表示对象类型变量的IVAR/属性。现在,当我从视图控制器获取用户输入的数据来填充这些ivar时,使用指针是否安全,或者我是否需要创建对象的副本,然后将其分配给ivar
因为我需要在用户退出程序后存储这些事务,所以我假设我在前一个会话中对指针的任何引用实际上都是断开的链接。如果我在这里错了,任何解释和一些代码示例都将不胜感激
如果
我的应用程序有一个sqlite数据库,我正在使用executeQuery方法检索和插入数据
问题
我无法为tableview的单元格分配整数值。它不显示整数格式的数据。我想将整数值存储到tableview中,并显示排序后的整数
将数据发送给用户
我在这里发布我的代码
1) 在viewDidLoad中,我从数据库表“dummy”中检索了整数值,并将其放入NSArray“Scores”中
2) 我在表视图的“cellForRowAtIndexPath”方法中为单元格分配了一个整数类型的“highsc
我试图使用for循环同时解析两个RSS提要,但问题是,当第一个RSS提要被完全解析并分配到表视图中时,解析第二个提要会导致表视图被第二个提要覆盖,只显示第二个RSS。有没有办法同时显示这两个提要?代码如下
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
if ([stories count] == 0) {
NSString * path;
path=[
根据Apple的Quick Contacts示例代码使用ABPersonViewController
ABRecordRef person = (ABRecordRef)[people objectAtIndex:0];
ABPersonViewController *picker = [[[ABPersonViewController alloc] init] autorelease];
picker.personViewDelegate = self;
picker.
当子类化CALayer并实现drawInContext方法时,我会假设我在其中所做的任何绘图都将显示,但如果我设置(例如)borderWidth/borderColor,CALayer将在其自身上绘制一个边框,而不是自定义绘图代码
这是CALayer子类:
@实现MyCustomCALayer
- (id)init
{
self = [super init];
if(self)
{
[self setNeedsDisplayOnBo
嘿,伙计们,当你设置UIImageView的坐标时,它会将UIImageView分别设置在右上角。有没有办法使坐标应用于左下角?如果您有视图的参考,则可以使用UING设置其定位点
view.layer.anchorPoint=CGPointMake(0,1)//您的左下角
0,0表示左上角
默认值为0.5,0.5,中间为
最大值为1,1,即右下角
不要忘记导入从UIView继承的UIImageView定位设置。这就是为什么您只能通过UIImageView的frame和center属性进行操纵。但
从Xcode 4开始,使用BWToolkit并不容易。事实上,这在IB中甚至是不可能的
是否有一些示例代码,说明如何在没有BWToolkit的情况下创建“首选项类型工具栏”?是的,正如Camino所使用的那样。有关Doxygen文档,请参阅。它显示使用plist注册的NSPreferencePanes。它很容易为您的目的使用和定制。您还可以将Camino项目用作的源代码。唯一的问题是此代码是GPL。你知道有没有其他更灵活的许可证,比如麻省理工学院许可证?我需要一个商业封闭源代码产品的代码。它不是
如何生成随机的CGPointMake,比如说我创建了一个uiimage的出口,并将其命名为image,image.center=CGPointMake(//random,//random)everytime second(NSTimer)您可以在stdlib.h中使用rand()
比如:
#include <stdlib.h>
#include <time.h>
srand ( time(NULL) );
int max = 400 // or what
我理解普通C中前缀和后缀符号的区别
然而,我想知道是否同样的规则也适用于Objective-C方法调用,比如
[myObject foo:++i];
及
还是“内部C表达式”总是先求值,两个方法调用因此产生相同的结果?它与C相同。ObjC是C的超集。为什么不实际尝试并找出答案
结果正如预期的那样,前缀版本在方法调用之前运行。后缀在方法调用后运行。是的,同样的规则适用。Obj-c是c的一个严格超集,所以所有在c中工作的东西在Objective-c中的工作方式完全相同
++i
将在调用方法之前递
更新
解决了问题,出现了一个循环
原始问题
配置文件显示零内存泄漏,但随着时间的推移,应用程序使用的内存越来越多
让我们只看一下应用程序中的一个东西,然后仔细看看。有一个表视图——我们把它称为主表,当单击它的任何单元格时,它会引导您进入第二个表视图,第二个表视图上有10到20个图像
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
FlyerListT
似乎对iOS 5的NSPersistentStoreCoordinator方法进行了一些修改。
我正在尝试获取一个预填充的数据库。。。它似乎不起作用,没有崩溃,但似乎没有任何数据存在。。。有什么建议吗
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator
{
if (__persistentStoreCoordinator != nil)
{
return __persistentStoreCoo
有没有一种方法可以在不使用私有API的情况下以编程方式打开和关闭“照亮键盘”设置
我需要以Mac应用商店可以接受的方式来做这件事。您可以尝试使用ScriptingBridge框架;它通过发送苹果事件来工作。系统首选项应用程序公开ScriptingBridge绑定,以便您可以访问它
以下是一些出发点:
如果您使用ScriptingBridge并希望将应用程序提交到Mac App Store,那么您必须请求一个临时异常权限,以允许您的应用程序发送Apple事件;请查看以了解更多信息
可能重复:
获取了以下xcode:
但是,当我尝试将某个内容放入案例1(或空)时,它是否给了我一个错误
奇怪的问题,因为我不知道什么是受保护的交换机,我应该如何修复它。有人有解决这个问题的方法或线索吗?奇怪
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UIViewController *controller;
switch(index
问这个问题我真的有点尴尬,因为这感觉就像你能做的一样基本,但它已经困扰了我好几个小时了
假设我有一个UIViewController实例(称为MyViewController),它只是有一个到UITextField的IBOutlet,当页面加载时,我会根据BOOL属性将其设置为启用或不启用
- (void)viewDidLoad {
[super viewDidLoad];
self.surname.enabled = self.allowTextField;
}
一切都连接正
你能找出我的应用程序崩溃的原因吗?当我点击tabbars应用程序中的任何选项卡时崩溃。这是一个rendom问题,但生成频率非常高。错误消息如下所示:
2012-01-18 14:48:50.029 MyApp[2823:f803] *** Terminating app due to uncaught exception 'NSGenericException', reason: '*** Collection <CALayerArray: 0x6b46bd0> was mutate
我正准备向iphone市场发布我的第一款应用程序。此应用程序涉及多层组件
在未来的更新中,我计划为角色添加一个新角色、板和皮肤
我担心如果我更新了应用程序(比如1.1版),一个玩家(P1)在更新版本上玩,另一个玩家(P2)在上一版本上玩,这两个玩家就会遇到问题。即使P1(版本1.1)正在使用版本1.0中未包含的内容
我是否需要在1.0版中为这些问题添加捕捉器?我是否必须让每个人都使用相同版本的应用程序?或者这真的不是一个问题吗
编辑:我不知道这是否重要,但我正在通过苹果的游戏中心运行连接这实际上
我有个问题。我使用可达性来检测internet可用性的internet连接可达性方法,但我得到的是连接状态,而不是internet状态。我的意思是,如果我打开我的Wifi连接,该方法会正确指示我没有连接,但如果Wifi打开且互联网连接不工作,它似乎不工作。有什么想法吗
最好的问候可达性只能用于检测iPhone是否连接到互联网网关。网关后面是什么,它不会告诉你。如果局域网是可访问的,但您没有通向Internet的出口,该怎么办?iPhone怎么能猜到它看到的(局域网)不是整个互联网
你应该向一个真
从XCode 4.2中的单视图iOS模板开始,我在.xib中添加了第二个视图,在主视图中添加了一个“超级”按钮,在子视图中添加了一个“子”按钮。我希望能够单击这两个按钮
在视图控制器的界面中,我添加了:
IBOutlet UIView *subView;
然后在我的视图控制器的viewDidLoad方法中,我添加:
[self.view addSubview:subView];
在[super viewDidLoad]之后
子视图的背景为“清除”,并且两个窗口都设置为“已启用用户交互”
当
可能重复:
我想知道这两个代码示例之间的区别
1:
2:
出于某种原因,Xcode Analyzer警告我选项#1可能会导致内存泄漏-因此当我将代码更改为选项#2时,分析器不会警告我
有人知道原因是什么吗
多谢各位 在第一个示例中,您分配了一个新的NSString,并将其传递,但没有释放它。您负责释放该字符串,当您首次分配该字符串时,该字符串的保留计数为+1
(忽略您的简单示例可能不会导致实际泄漏这一事实。但这不是重点,它仍然不是管理内存的正确方法)假设您不使用ARC
[str releas
我的项目确实支持ARC:
但当我运行Xcode分析器Product/Analyze时,仍然会出现如下内存泄漏:
Potential leak of an object allocated on line xx and stored into 'xxx'.
我是说,ARC不是应该解决发布问题吗?或者我必须自己添加释放/自动释放?确保您的文件在链接器标志中没有-fno objc弧。这将它们从ARC中排除。一种简单的检查方法是尝试释放代码中的对象,如果通过释放调用得到红线,那么文件使用的是ARC,
我有一个UIViewController,它是以模式呈现的。当我观看内存分配工具时,当视图出现时,内存使用会增加,但当视图退出时,内存不会释放。
如果我一直打开和关闭视图,内存就会越来越高。
仪器没有报告内存泄漏!
这可能是什么原因造成的?视图控制器代码如下(我跳过了didSelectRow代码)。
Dealloc总是被称为
编辑-我正在使用圆弧
h
编辑-------------
有些事情似乎不对劲。我已经在单元格alloc中添加了一个NSLog,它从未被调用,即使单元格已经创建
PowerU
错误映射定义为:
[[[[RKObjectManager sharedManager] mappingProvider] errorMapping] setRootKeyPath:@"error"];
它可以将简单的错误消息作为字符串使用:
render status: :unprocessable_entity, json: { :error => 'cannot create topic' }
但是,哈希响应失败:
render status: :unprocessable_ent
我试图使用NSLog显示存储在enum特定值中的值。在下面的示例中,我试图获得如下输出:5表示五月
知道NSLog的enum应该使用什么标记吗?我尝试使用%I和%@,但两者都不起作用
谢谢
enum month {jan = 1, feb, march, apr, may, jun, jul, aug, sep, oct, nov, dec};
enum month amonth;
int x = 5;
amonth = x;
NSLog(@"%i represents month of %@"
我正在尝试使用GLKit绘制半透明多边形,但运气不好。所以我想知道是否有可能在GLKit中首先使用半透明多边形,因为我知道OpenGL的标准实现不支持它;但可以使用自定义着色器进行模拟。但由于GLKit编译自己的着色器,我需要知道是应该继续使用GLKit还是使用自己的自定义着色器。我的代码如下:
// setup states
glEnable(GL_BLEND);
glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE,
目前,我正在导航控制器中使用QLEVIEWCONTROLLER。(pushViewController)
要隐藏导航栏,我使用UITapGestureRecognitor。用户只需轻触(轻触)即可显示/隐藏导航栏。
这在iOS5中运行良好
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
UITapGestureRecognizer *tapRecognizer = [[UITapGes
我有一个多行的UILabel(numberOfLines=0)。它的宽度可以在运行时更改,有时会导致截断和/或重新包装。一些例子最能说明这一点:
示例1:宽度的减小导致不同的换行点
示例2:宽度减小导致截断
示例3:宽度的减少导致截断和不同的换行位置
示例4:宽度的减小对截断或换行位置没有任何影响
由于格式上的这种变化可能会非常不和谐,我打算在一些动画(可能是淡入/淡出)后面对其进行遮罩。然而,第一个障碍是确定我何时需要这样做。我不想在标签重新调整大小时应用动画-仅当它将导致截断
作为一名有java背景的开发人员,我习惯于捕捉异常以防止它们破坏我的应用程序。这包括各种委托方法。只是在意外情况下的额外安全措施
我的问题是,这种方法在目标c中是否合理,它是否会带来某种性能问题?换言之,如果我更频繁地使用try/catch块,我的应用程序会受到任何影响吗?它不会受到太大影响,但你必须记住一些事情。与其他语言中可能存在ConnectionRefusedException或filenoexistantexception不同,在objective-c中,异常90%是程序员错误。因此,
我试图使用Objective-C沿着任何UI元素之外的路径移动Mac光标的位置(不仅在某些窗口上,而且在整个屏幕上,与鼠标悬停的内容无关)。我不想直接将鼠标扭曲到某个位置,而是逐步将其移动到该位置(即迭代循环,并在每次迭代中将光标向右移动1个像素)
问题是,即使我没有将光标移动到任何地方,光标也会不断地在屏幕的水平中心线上来回跳跃(如果我在y=289处启动光标,它会跳到y=511,然后再跳回到y=289,依此类推,因为我的屏幕有800像素高)
NSPoint mPoint = [NSEvent
我正在使用Objective C进行iOS本机开发。我想实现摄像头
我的应用程序中的功能。我使用UIImagePickerController实现了摄像头。我
我能够拍摄图像并将其存储在iPAD的照片库中。现在我必须存储
它采用BASE 64格式。我正在使用sup2.1.3作为我的中间件
我必须做什么?请帮我解决这个问题好吗?为此,我们必须首先转换
从IPAD到BASE 64的图像,对吗?请提些建议好吗?如何实现这一点?您可以使用以下代码获取图像数据:
NSData* data = UIImag
我在代理和数据源等协议方面做了很多工作,最近我使用uikeyinport协议做了一些工作。
我已经习惯了类似于self.tableView.delegate=self的事情,但是使用uikeyinport我不需要这样做。但是我实现的协议方法(例如,insertText:等)仍然被调用
有人能给我解释一下这是怎么回事吗
非常感谢你的帮助 Cocoa Touch框架有一个“响应者链”的概念,即它如何确定在何处交付UI输入事件。“第一响应者”位于响应者链的顶端。当iOS有键盘输入事件时,它会检查当前第
我有一个视图控制器,上面有一个工具栏和工具栏按钮。该工具栏按钮被触发(触发序列)到另一个视图控制器+已向某些iAction方法发送操作。现在,触发序列工作正常,但iAction方法不会在单击时触发。请提供帮助。@Farhan Ali
在连接检查器的帮助下,检查您是否已将该按钮正确连接到IBAction。通常,在将条形按钮项目连接到iAction时,必须双击条形按钮
如果所有东西都连接好了
应该是这样的
请显示一些实际的相关代码。另外,旁注:这个问题不符合使用“xcode”标记的条件。我在视图控制
在我的cocoa OS X应用程序中,我有一个带有xib文件的WindowController,和两个带有xib文件的ViewController,我在WindowController中添加了一个自定义视图,在单击“继续”或“下一步”按钮时,通过删除和添加这些视图来交换这两个子视图
[[theViewController view] removeFromSuperview];
self.theViewController = [[WelcomeInstallViewController allo
因此,我想在我的应用程序中使用NSOutlineView来显示一个特定的层次结构,因为没有更好的名称。
为了解释,下面是它在代码中的外观:
我有一个协议,声明了我要显示的对象所使用的一些方法:
@protocol OutlineViewItem <NSObject>
@required -(BOOL)hasChildren; //Tells whether the object has children
@required -(NSInteger)numberOfChildren;
在之前的iOS6中,我的聊天信息视图控制器在IB中使用精心构造的自动布局约束正确显示和设置动画。以下是当前视图层次结构,其中在Xcode 5中删除了约束:
在升级到XCode 5和iOS7之后,我发现我需要清除所有旧的约束,以便考虑默认的半透明状态栏,否则我的工具栏将落在状态栏下。尽管使用UIRectEdgeNone调用setEdgesForExtendedLayout:
我现在尝试在viewDidLoad中以编程方式创建所有约束:
// self.view.translatesAutores
我想在Sprite节点上添加移动的子节点,但是如果它们移动到边界之外,则希望它们被剪裁,从而给人一种“窗口”的印象。我知道有一个名为clipstobunds的UIView属性也有同样的功能。SKSpriteNode是否有类似的属性,如果没有,如何实现相同的属性?您可以将该精灵添加到。然后使用定义裁剪区域的图像将裁剪节点的maskNode设置为精灵节点
我编写了一个命令行应用程序,它将从支持文件加载图像。图像被复制到支持文件中,但当我使用以下代码时,变量imgC返回nil
NSString* pathC = @"galaxy.jpg";
NSImage* imgC = [NSImage imageNamed: pathC];
ImgC返回nil,即使我使用以下代码:
NSString* pathC = @"galaxy.jpg";
NSImage* imgC = [[NSImage alloc] initWithContentsOfFile:
此代码在工作时,按FIFO顺序执行两个任务:
-(void) update {
@autoreleasepool {
dispatch_queue_t queue = dispatch_queue_create("us.yellosoft", 0);
// inpternal address
dispatch_async(queue,^(){
// TODO: implement NSProgressIndi
我注意到Xcode有一个非常恼人的地方:我有一些情节提要,当我打开它们时,某些视图的大小和位置会被系统地更新。这很烦人,尤其是与团队合作时
下面是我如何产生这种行为的:
我从git存储库中提取应用程序
打开受影响的情节提要,不进行任何修改
git diff已经告诉我不同之处,比如
$git diff
...
-
+
...
-
+
这会发生在其他人身上吗
问题是:
当我只打开故事板时,为什么会修改它,以及如何防止它?
注意:
我意识到这似乎只发生在标签s&文本字段sXcode将情
我们在Swift的基础上启动了一个新的OS X项目,结果发现管理层并不喜欢使用Swift,我们无法在10.9版本之前向用户销售该应用程序,即使30%的市场仍然有旧版OS X
在Objective-C中重新实现软件似乎是唯一的解决方案。正如苹果公司宣传Swift与Obj-C二进制兼容一样,我想知道从Swift源代码到Obj-C源代码的翻译在理论上是否可行,如果可行,你是否知道该想法的任何实现
到目前为止,在网络上找不到关于这个主题的任何信息,现在每个人似乎都在寻找另一个方向。当然有可能。但我恐怕没
我偶然发现了Xcode 6中的键值编码问题。似乎不可能在符合协议的id上使用键值编码
当属性声明为id时,编译器同意
@property (nonatomic, strong) id foo;
[foo setValue:@"value" forKey:@"key"];
当我将id设置为符合协议时,我得到一个编译器错误。“选择器没有已知的实例方法…”
@property(非原子,强)id foo;
[foo setValue:@“value”forKey:@“key”];
如果我将类型设置
以下是用Objective编写的UIView扩展,可轻松创建视图以使用自动布局:
+(id)autolayoutView
{
UIView *view = [self new];
view.translatesAutoresizingMaskIntoConstraints = NO;
return view;
}
它调用[self-new],以便UIView的任何子类都可以使用此方法。如何在Swift中实现这一点?好的,这似乎是解决方案。该类型必须有一个必需的初始值设定
这个问题从一个侧面继续
我有以下CAShapeLayer:
- (CAShapeLayer *)gaugeCircleLayer {
if (_gaugeCircleLayer == nil) {
_gaugeCircleLayer = [CAShapeLayer layer];
_gaugeCircleLayer.lineWidth = self.gaugeWidth;
_gaugeCircleLayer.fillColor = [UI
我正在创建我的第一款SpriteKit游戏,以下是我尝试做的:
1。删除默认的iphone主屏幕和ipad主屏幕故事板
从info.plist中删除Main\u iphone和Main\u ipad列表
从下的主界面中删除Main\u iPhone.storyboard
部署信息
2。在AppDelegate.m中的didFinishLaunchingWithOptions下添加以下代码
self.window = [[UIWindow alloc] initWithFrame:[[
所以我的朋友问我这个问题作为面试练习:
使用Objest-C&基金会工具包,编写一个采用一位数的int值的方法,并记录到控制台,该int的精确结果被提升到100的幂。
起初我认为这听起来很容易,但后来我意识到,即使是一个单位数字提高到100次方,也会很快接近100位,这会溢出
所以我尝试通过创建一个NSArray w/NSNumber(用于反射)来解决这个问题,其中数组中的每个对象都是最终结果编号中的一个位置。然后我执行乘法运算(包括进位中的因式分解),然后打印出一个字符串,该字符串由数组中的对
我有一个问题,这条线路会引起麻烦吗
self.window.rootViewController = self.viewController;
假设self的两个属性都有一个retainsetter:
@property(nonatomic, retain) UIViewcontroller viewController;
我的问题是,这是否会导致任何奇怪的对象树或保留周期或内存问题viewController的保留计数为2,因此如果self想要清除内存,它就不能,因为self.window
是否有任何方法可以检测到以下情况,据我所知,这些情况会在不好的地方覆盖内存?或者任何其他试图为NSString或类似内容设置NSDictionary的程序
inta[6];
a[6]=8
另外,为了确保我的应用程序中有很多EXC_BAD_ACCESS KERN_INVALID_ADDRESS,从我所看到的来看,这些都是由内存覆盖引起的。有没有其他方法来调试这种崩溃,因为它们不会发生在我的设备/模拟器上,而是发生在我无法复制的某些情况下的用户身上。有
查看Xcode方案编辑器的选项窗格。您可以启用
为什么在objective NSC中,字符串作为值类型工作?当我写代码时
NSString *s1 = [NSString stringWithFormat:@"1"]; //;
NSString *s2 = s1;
s1 = @"7";
NSLog(@"s1 = %@", s1);
NSLog(@"s2 = %@", s2);
结果是
s1 = 7
s2 = 1
01 = 7
02 = 7
为什么?
但是当我上课的时候
@interface MyObject : NSObject
@
我陷入了一件奇怪的事情:为什么下面的代码片段会产生泄漏(attrDefault未发布)?(假设之前已定义“font”,self.text引用NSString*):
有什么想法吗
更新:
令人惊讶的是,如果在@autoreleasepool语句中嵌入相同的代码,那么泄漏就消失了
@autoreleasepool {
NSStringDrawingContext* context = [[NSStringDrawingContext alloc] init];
NSDictionar
我正在尝试使用下一个代码:
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"[\\p{L}[0-9]]+|-" options:NSRegularExpressionCaseInsensitive error:&error];
NSString *modifiedString = [regex stringByReplacingMatchesInString:string o