我有UITextView *_masterText
和之后调用方法setText
属性字体正在重置.这是在我更改sdk 7. _masterText之后发生的IBOutlet
,全局和属性在storyboard中设置.这只是我或这是一般的SDK错误?
@interface myViewController : UIViewController
{
IBOutlet UITextView *_masterText;
}
@implementation myViewController
-(void)viewWillAppear:(BOOL)animated
{
[_masterText setText:@"New text"];
}
Run Code Online (Sandbox Code Playgroud) 最近我使用数组工作很多,我很奇怪......这两行之间的差异是什么.
NSArray *array = [NSArray arrayWithArray:someArray];
Run Code Online (Sandbox Code Playgroud)
和
NSArray *array = [someArray copy];
Run Code Online (Sandbox Code Playgroud)
哪个更快?我们有什么NSMutableArray
和mutableCopy
?
我在swift项目中加载xib文件有一些奇怪的问题.这太令人沮丧,因为我已经知道如何在Obj-C中做到这一点.但是因为swift很快,所以你不能像你那样做..:/
所以我创建了IconTextFiled.xib和IconTextField.swift.(扩展UITextField)在xib中我在Idenity检查器中填充字段Class,在故事板中我对一些textFields执行相同操作.所以我们很高兴只需从xib添加加载到init方法?没有.
在objc我会这样做
- (instancetype)initWithCoder:(NSCoder *)coder
{
self = [super initWithCoder:coder];
if (self) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"IconTextField" owner:self options:nil];
self = [nib objectAtIndex:0];
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
所以我想如果我翻译成swift就会很好.
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
let nib:NSArray = NSBundle.mainBundle().loadNibNamed("IconTextField", owner: self, options: nil)
self = nib.objectAtIndex(0)
}
Run Code Online (Sandbox Code Playgroud)
但那不起作用.我不知道为什么,但它试图创建更多的对象和崩溃
最后我发现了扩展
extension IconTextField {
class func loadFromNibNamed(nibNamed: String, bundle : NSBundle? = nil) -> IconTextField? {
return UINib(
nibName: nibNamed,
bundle: bundle
).instantiateWithOwner(nil, options: nil)[0] as? IconTextField
}
} …
Run Code Online (Sandbox Code Playgroud) 在第一种方法中,我创建了基于sampleProject的客户端 - 服务器应用程序,它将一些数据发送到服务器.
Legend:
sender
address = reciver ip
port = reciver port
reciver
address = null since he is listening
port = in my case 55555
Run Code Online (Sandbox Code Playgroud)
跳过错误检查只是出于公共原因而故意
寄件人
-(id*)initForSender:(NSString*)address port:(int)port
{
self = [super init];
if (self) {
_port = port;
_address = address;
tag = 0;
_udpSocket = [[GCDAsyncUdpSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];
[_udpSocket bindToPort:0 error:&error];
[_udpSocket beginReceiving:&error];
return self;
}
}
-(void)send:(NSData*)data{
[_udpSocket sendData:data toHost:_address port:_port withTimeout:-1 tag:tag];
tag++;
}
Run Code Online (Sandbox Code Playgroud)
接收者/听众
-(id*)initForReceiver:(NSString*)address port:(int)port
{
self …
Run Code Online (Sandbox Code Playgroud) 如何删除图表中的图表网格线System.Windows.Forms.DataVisualization.Charting
?
我有两个目标app
和appTests
.我还有类Wine
和框架Realm
以及与这两个目标相关联的'RealmSwift'.当我Wine
在traget中使用class时没有异常app
.
但是,当我想运行测试时
appTests.swift(22行)
import UIKit
import XCTest
import RealmSwift
class appTests: XCTestCase {
func testRealmAdd() {
NSFileManager.defaultManager().removeItemAtPath(Realm.defaultPath, error: nil)
let realm = Realm()
let wine = Wine() // when error occure
wine.photo = "photo"
wine.desc = "description"
wine.raiting = 3.0
realm.write { () -> Void in
realm.add(wine)
}
let result = realm.objects(Wine)
print("\(result)")
XCTAssertTrue(result.count == 1, "There should be one element")
}
}
Run Code Online (Sandbox Code Playgroud)
Wine.swift(10行)
import UIKit …
Run Code Online (Sandbox Code Playgroud) 我正在使用旧式Pascal I/O例程,并期望对失败的I/O函数的调用应该引发EInOutError
.当我尝试这个时,我没有看到异常提出,我不知道为什么.
procedure TForm1.Button1Click(Sender: TObject);
//var i: integer;
begin
id:=(strtoint(Edit1.Text)-1)*4;
AssignFile(plik,'\klienci\'+linia_klient[id]+'.txt');
try
Reset(plik);
except
on EInOutError do Rewrite(plik);
end;
edit2.Text:=linia_klient[id+1];
edit3.Text:=linia_klient[id+2];
//ListBox1.Clear;
//ListBox1.Items.Add();
end;
Run Code Online (Sandbox Code Playgroud)
整个代码:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Button1: TButton;
Label2: TLabel;
Label3: TLabel;
Edit2: TEdit;
Edit3: TEdit;
ListBox1: TListBox;
Label4: TLabel;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end; …
Run Code Online (Sandbox Code Playgroud) 你好,我最近换TextFile
了TFileStream
.我从不使用它,所以我的问题很小.
我需要定义的行格式文件,所以我做的是这样的:
var linia_klienta:array[0..30] of string;
AssignFile(tempPlik,'klienci.txt');
Reset(tempPlik);
i:=0;
While Not Eof(tempPlik) do
begin
Readln(tempPlik,linia_klient[i]);
inc(i);
end;
CloseFile(tempPlik);
Run Code Online (Sandbox Code Playgroud)
然后当我需要第二行时
edit1.text = linia_klienta[1];
Run Code Online (Sandbox Code Playgroud) 我停下来有很多方向.我已经设法使用函数'linkingObjects'来做到这一点,但自上次更新以来,它已被弃用,我应该使用对象'LinkingObjects'.
停止
class Stop: Object {
dynamic var name:String = ""
var directions = List<Direction>()
override static func primaryKey() -> String? {
return "name"
}
}
Run Code Online (Sandbox Code Playgroud)
旧方向
class Direction: Object {
dynamic var tag:String = ""
var stop:Stop? {
return linkingObjects(Stop.self, forProperty: "directions").first
}
}
Run Code Online (Sandbox Code Playgroud)
当我将我以前的方法应用于新对象时,我总是得到 nil
LinkingObjects返回nil的新方向
class Direction: Object {
dynamic var tag:String = ""
let stop = LinkingObjects(fromType: Stop.self, property: "directions").first //always return nil
}
Run Code Online (Sandbox Code Playgroud)
但是在这里我得到一个元素的数组.所以它应该工作.
LinkingObjects返回nil的新方向
class Direction: Object {
dynamic var tag:String = ""
let …
Run Code Online (Sandbox Code Playgroud) 首先,我必须说我在日期和时间设置中设置了自动设置,并且每个设备的时区是相同的.所以我用它[NSDate date]
来获取时间戳,以毫秒为单位,然后编码NSData
并发送到另一台设备.接收器数据正在被解码并用新的减去[NSDate date]
.这样我就可以获得发送和接收消息所需的总时间.我被认为是因为当发送者是iPhone 4 iOS6而接收者是iPhone 5 iOS7时接收者比发送者有更早的时间戳.我不知道为什么?[NSData date]
对于那种操作,也许不是最可靠的类?我GCDAsyncUdpSocket
用于发送/接收UDP.
代码发送者
NSData *data2 = [self createRandomNSData:8192];
NSMutableData *dataToSend =[NSMutableData data];
[dataToSend appendBytes:&tag length:sizeof(int)];
long long currentTimeStamp = (long long)([[NSDate date] timeIntervalSince1970]*1000.0);
[dataToSend appendBytes:¤tTimeStamp length:sizeof(long long)];
[dataToSend appendData:data2];
NSLog(@"%i || %lld || %lu",tag, currentTimeStamp,(unsigned long)[dataToSend length]);
[_udpSocket sendData:dataToSend toHost:@"230.0.0.1" port:_port withTimeout:-1 tag:tag];
tag++;
Run Code Online (Sandbox Code Playgroud)
代码接收器
char* dataBytes = [data bytes];
int inTag;
long long inCurrentTimeStamp;
[data getBytes:&inTag length:sizeof(int)];
[data getBytes:&inCurrentTimeStamp range:NSMakeRange(sizeof(int), sizeof(long long))];
long …
Run Code Online (Sandbox Code Playgroud) ios ×6
swift ×3
cocoa-touch ×2
delphi ×2
pascal ×2
realm ×2
udp ×2
.net ×1
c# ×1
cocoa ×1
fonts ×1
iphone ×1
nsarray ×1
nsdate ×1
objective-c ×1
uitextview ×1
unit-testing ×1
xcode ×1
xib ×1