小编Bła*_*żej的帖子

设置文本属性后,将重置UITextView样式

我有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)

fonts cocoa-touch uitextview ios

145
推荐指数
4
解决办法
3万
查看次数

[NSArray arrayWithArray:]和[NSArray copy]之间的差异

最近我使用数组工作很多,我很奇怪......这两行之间的差异是什么.

NSArray *array = [NSArray arrayWithArray:someArray];
Run Code Online (Sandbox Code Playgroud)

NSArray *array = [someArray copy];
Run Code Online (Sandbox Code Playgroud)

哪个更快?我们有什么NSMutableArraymutableCopy

cocoa cocoa-touch objective-c nsmutablearray nsarray

20
推荐指数
3
解决办法
8941
查看次数

Swift正确加载xib文件的方法

我在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)

interface-builder xib ios swift

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

GCDAsyncUdpSocket和组播发送和接收

在第一种方法中,我创建了基于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)

udp ios cocoaasyncsocket

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

从Winforms Chart中删除网格线

如何删除图表中的图表网格线System.Windows.Forms.DataVisualization.Charting

.net c#

7
推荐指数
1
解决办法
4620
查看次数

在目标中,类不止一次链接

我有两个目标appappTests.我还有类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)

xcode unit-testing realm ios swift

7
推荐指数
1
解决办法
1940
查看次数

为什么I/O错误无法引发异常?

我正在使用旧式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)

delphi pascal

6
推荐指数
2
解决办法
7217
查看次数

如何操作TFileStream

你好,我最近换TextFileTFileStream.我从不使用它,所以我的问题很小.

  • 在将其分配给变量后,如何在文件中添加一些内容?
  • 我怎样才能阅读该文件的某些表格?

我需要定义的行格式文件,所以我做的是这样的:

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)

delphi pascal

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

在Realm中将一个对象链接到多个

我停下来有很多方向.我已经设法使用函数'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)

realm ios swift

6
推荐指数
1
解决办法
2321
查看次数

多个设备中[NSDate date]的结果不同

首先,我必须说我在日期和时间设置中设置了自动设置,并且每个设备的时区是相同的.所以我用它[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:&currentTimeStamp 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)

iphone udp nsdate ios gcdasyncsocket

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