• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Das Monatsmotto Juli lautet -- Kitsch as Kitsch can -- Jeder von Euch kann dafür ganz individuell bestimmen, was für ihn Kitsch ist und ein Foto davon einsenden. Macht mit, traut Euch! --> Klick

[Swift] Projekt von Objective-C in Swift umwandeln

Markussm

Granny Smith
Registriert
20.12.14
Beiträge
14
<div class="bbWrapper">Hallo<br /> Könnt ihr mir beim Umwandeln von einem kleinen privaten Projekt helfen?<br /> <br /> Hier ist die Header Datei ( Objective -C )<br /> <div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code"> <div class="bbCodeBlock-title"> Code: </div> <div class="bbCodeBlock-content" dir="ltr"> <pre class="bbCodeCode" dir="ltr" data-xf-init="code-block" data-lang=""><code>#import &lt;UIKit/UIKit.h&gt; @interface Quadrat : ViewController{ IBOutlet UITextField *l; IBOutlet UITextField *A; } @property (nonatomic, strong)IBOutlet UITextField *l; @property (nonatomic, strong)IBOutlet UITextField *A; - (IBAction)doneEditing:(id)sender; - (IBAction)Lange:(id)sender; - (IBAction)Flache:(id)sender; - (IBAction)showMessage:(id)sender; @end</code></pre> </div> </div><br /> <div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code"> <div class="bbCodeBlock-title"> Code: </div> <div class="bbCodeBlock-content" dir="ltr"> <pre class="bbCodeCode" dir="ltr" data-xf-init="code-block" data-lang=""><code>#import &quot;Quadrat.h&quot; #import &quot;LNNumberpad.h&quot; @implementation Quadrat @synthesize l,A; - (void)viewDidLoad { [super viewDidLoad]; self.l.inputView = [LNNumberpad defaultLNNumberpad]; self.A.inputView = [LNNumberpad defaultLNNumberpad]; } - (IBAction)Lange:(id)sender { NSString *entered1 = A.text; NSNumberFormatter *formatter1 = [[NSNumberFormatter alloc] init]; [formatter1 setDecimalSeparator:@&quot;.&quot;]; [formatter1 setGroupingSeparator:@&quot;,&quot;]; NSNumber *number1 = [formatter1 numberFromString:entered1]; if (number1 == nil ) { [formatter1 setDecimalSeparator:@&quot;,&quot;]; [formatter1 setGroupingSeparator:@&quot;.&quot;]; number1 = [formatter1 numberFromString:entered1]; } float b= [number1 floatValue]; float a = sqrtf(b); l.text =[NSString stringWithFormat:@&quot;%2.8g&quot;, a]; } @end</code></pre> </div> </div><br /> Es geht hauptsächlich um die IBAction´s .<br /> <br /> Gruß Markus</div>
 
Zuletzt bearbeitet:

KALLT

deaktivierter Benutzer
Registriert
12.11.08
Beiträge
1.523
<div class="bbWrapper">Für schnelle Konvertierungen finde ich diese Website sehr hilfreich (is aber nicht fehlerfrei): <a href="http://iswift.org/try" target="_blank" class="link link--external" rel="nofollow ugc noopener">http://iswift.org/try</a>. Da ich gerade Swift lerne, habe ich es mal versucht. Ich habe aber gerade keinen Swift2-Compiler zur Hand, möglicherweise muss die Syntax also etwas angepasst werden (dabei ist Xcode aber sehr behilflich). Die letzte Methode ist seit iOS 6 obsolet und für Swift somit nicht verfügbar.<br /> <br /> <div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code"> <div class="bbCodeBlock-title"> Code: </div> <div class="bbCodeBlock-content" dir="ltr"> <pre class="bbCodeCode" dir="ltr" data-xf-init="code-block" data-lang=""><code>// Playground - noun: a place where people can play import UIKit class Quadrat: UIViewController { @IBOutlet private weak var l: UITextField! @IBOutlet private weak var A: UITextField! override func viewDidLoad() { super.viewDidLoad() l.inputView = LNNumberpad.defaultLNNumberpad() A.inputView = LNNumberpad.defaultLNNumberpad() } @IBAction private func Lange(sender: AnyObject) { let calculatedValue = floatStringFromString(A.text) { sqrtf($0) } l.text = calculatedValue } @IBAction private func Flache(sender: AnyObject) { let calculatedValue = floatStringFromString(A.text) { $0 * $0 } l.text = calculatedValue } @IBAction private func showMessage(sender: AnyObject) { let message = UIAlertView(title: NSLocalizedString(&quot;Hilfe&quot;, comment: &quot;&quot;), message: NSLocalizedString(&quot;Quadratinfo&quot;, comment: &quot;&quot;), delegate: self, cancelButtonTitle: NSLocalizedString(&quot;Zurück&quot;, comment: &quot;&quot;)) message.show() } @IBAction private func doneEditing(sender: AnyObject) { sender.resignFirstResponder() } private func floatStringFromString(value: String, calculation: (Float) -&gt; Float) -&gt; String? { let formatter = NSNumberFormatter() let separators = [(&quot;.&quot;, &quot;,&quot;), (&quot;,&quot;, &quot;.&quot;)] for separator in separators { formatter.decimalSeparator = separator.0 formatter.groupingSeparator = separator.1 if let number = formatter.numberFromString(value)?.floatValue { let calculatedValue = calculation(number) return String(format: &quot;%2.8g&quot;, calculatedValue) } } return nil } }</code></pre> </div> </div></div>