当我尝试使用Xcode 6在我的设备上运行我的Swift项目时,我收到了一个非常奇怪的警告.
该设备运行iOS 7.1,我的Mac正在运行Mavericks.
我在Swift和SpriteKit中编写了一个小游戏,它可以在模拟器中运行,但是当我尝试在我的设备上运行它时,我收到警告,而我的设备只显示黑色背景.
尝试运行一个新的SpriteKit项目时,我得到了相同的结果.但是,如果我使用Swift运行一个新的单页应用程序,它会正常运行.
这是我收到的警告:
有什么建议?
我的GameKit
框架有问题.在我的应用程序中,我想发送文本或图像.现在,当我发送图像时UIImagePicker
,它运行良好.当我发送文本时,UIAlertView
对于没有图像的图像,它不会显示相同的内容.这是.h
:
#import <UIKit/UIKit.h>
#import <GameKit/GameKit.h>
@interface ViewController : UIViewController <GKPeerPickerControllerDelegate, GKSessionDelegate, UIActionSheetDelegate, UINavigationControllerDelegate, UIImagePickerControllerDelegate> {
GKSession *currentSession;
IBOutlet UITextField *txtMessage;
IBOutlet UIButton *connect;
IBOutlet UIButton *disconnect;
GKPeerPickerController *picker;
UIImagePickerController *imgPicker;
BOOL isText;
UIImage *_image;
}
@property (nonatomic, retain) GKSession *currentSession;
@property (nonatomic, retain) UITextField *txtMessage;
@property (nonatomic, retain) UIButton *connect;
@property (nonatomic, retain) UIButton *disconnect;
-(IBAction) btnSend:(id) sender;
-(IBAction) btnConnect:(id) sender;
-(IBAction) btnDisconnect:(id) sender;
-(IBAction)chooseImageData:(id)sender;
@end
Run Code Online (Sandbox Code Playgroud)
而且.m
:
#import "ViewController.h"
#import …
Run Code Online (Sandbox Code Playgroud) 我的场景中有一个物体.当我触摸屏幕时,我希望对象的y位置成为我触摸的y位置.为此,我有以下代码:
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
SKNode *player = [self childNodeWithName:@"player"];
UITouch *touch = [touches anyObject];
CGPoint positionInScene = [touch locationInNode:self];
player.position = CGPointMake(player.position.x, positionInScene.y);
}
Run Code Online (Sandbox Code Playgroud)
它适用于此代码,但如何让对象以稳定的速度移动到触摸位置?因此,不是跳到触摸y位置,而是以预定义的速度移动到它.
我有一个使用精灵套件的iOS应用程序,我准备添加我的作品.艺术品是像素艺术,本质上非常小.我试图找到最好的方式来显示这种方式:
所有这些技术都具有相同的尺寸,这意味着一个图像像素恰好占据了所有其他图像中的真实世界像素的数量.
在尝试使纹理看起来更平滑时没有模糊,这通常在缩放图像时发生.
我试过像这样解决第二个问题:
self = [super init];
if(self){
self.size=size;
self.texture = [SKTexture textureWithImageNamed:@"ForestTree1.png"];
self.texture.filteringMode = SKTextureFilteringNearest;
[self.texture size];
}
return self;
Run Code Online (Sandbox Code Playgroud)
上面的代码是在具有纹理的SKSpriteNode的初始化中.
这是我的原始图像(按比例放大以便于参考):
问题是我的结果总是如下:
(被忽略的行李箱底部不是这个问题的一部分.)我没有使用任何运动模糊或任何类似的东西.我不确定它为什么显示不正确.
编辑1: 我没有在上面提到,在截图时,树木一直在动画.当它们仍然是这样的时候:
上面的图像是由于稍后要修复的错误导致的两个树重叠而导致的.我现在的问题是如何在动画发生时防止图像模糊?
编辑2:
我正在添加树的多个实例,每个实例加载相同的纹理.我知道它与动画无关,因为我改变了代码只添加一棵树并为其制作动画,并且它完全按像素化.
为什么斯坦福大学的课程使用所有getter的延迟初始化?
它是否正确?它有什么真正的优势吗?
一个优点(对我来说)是init
方法可以变得更短,你不需要检查是否分配了变量.
我有一些坐标,它总是在海洋中的某个地方.我需要一种方法将坐标转换为一个字符串,告诉坐标落在哪个海洋/海洋.有没有方便的方法呢?
谢谢
当我实现这样的方法时:
-(void)exampleMethod{
[self exampleMethod];
}
Run Code Online (Sandbox Code Playgroud)
然后运行它,我明白了EXE_BAD_ACCESS (code=2, address=0x7fff5f3ffff8)
.
当我在方法中调用方法或函数时,它会在崩溃之前调用自己更长的时间.
这是一个例子:
-(void)exampleMethod{
NSLog(@"Example Was Run");
[self exampleMethod];
}
Run Code Online (Sandbox Code Playgroud)
运行时会发生什么逻辑导致此行为?
我有一个自定义类,它是一个子类SKSpriteNode
.我试图覆盖spriteNodeWithColor:size:
返回的方法instancetype
.我试试这个:
-(instancetype)initWithColor:(UIColor *)color size:(CGSize)size{
self.color = color;
self.size = size;
//do other setup stuff here
return self;
}
Run Code Online (Sandbox Code Playgroud)
但它每次都会崩溃.在此先感谢您的帮助
inheritance objective-c instancetype sprite-kit skspritenode
我有一个scrollView
名为svCreateTask.在此scrollView
我把UITextField
,UITextView
,UIButtons
静态和UIView
编程按下按钮.现在我想删除UIView
按下按钮.和视图从其scrollView
标签中移除与Button标签相同.
并且if语句每次检查都是TRUE,因此其标签与我的按钮标签相同的其他子视图也会从中删除scrollView
.我只想删除UIView
.
在这里,我发布我的代码:
NSLog(@"Enter in removeNotification method.");
UIButton *btn = (UIButton *)sender;
NSLog(@"btn Tag = %d",[btn tag]);
NSArray *viewsToRemove = [svCreateTask subviews];
for (int i=0; i<viewsToRemove.count; i++)
{
NSLog(@"Class == %@",[[viewsToRemove objectAtIndex:i] class]);
if ([[viewsToRemove objectAtIndex:i]isKindOfClass:[UIView class]])
{
NSLog(@"In Class Check...");
UIView *v =[viewsToRemove objectAtIndex:i];
if (v.tag == btn.tag)
{
[v removeFromSuperview];
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的NSLog是.
2014-05-13 14:49:42.769 TOPDesign[379:11303] Enter …
Run Code Online (Sandbox Code Playgroud) objective-c ×6
ios ×5
sprite-kit ×4
cocoa-touch ×2
bluetooth ×1
gamekit ×1
google-maps ×1
if-statement ×1
image ×1
inheritance ×1
instancetype ×1
iphone ×1
mapkit ×1
recursion ×1
skspritenode ×1
sktexture ×1
swift ×1
xcode6 ×1