コードは、次のメソッドでテキスト フィールドを更新できません。
-(void)nuberofitem:no
{
NSLog(@"number : %d",no); //Its show correct value
localtextbox.text = no; // THIS IS WHERE YOU WENT WRONG
NSLog(@"text box value : %@",localtextbox.text); //But in label it shows null value
}
localtextbox.text は、NSString オブジェクトを渡す必要がある UITextField または Label のプロパティです。NSUInteger オブジェクトを渡していますが、これは間違った型のオブジェクトであるため、コンパイルによって「nil」として読み取られます。何が起こっているのかをよりよく理解するには、コンパイラのようにコードを読む必要があります。
コンピューターがコードを読み取る方法は次のとおり
です。 1. アプリケーションは、ユーザーがそのインターフェイスと対話したかどうかを確認するために継続的にループします (イベント ループ)
2. ユーザーがインターフェイス (.xib) ファイルのボタンをクリックします
3.ボタンが押されたことを通知するために、イベント ループが一時停止します。Xcode の開発者には見えない xml 情報を調べ、その 'target' プロパティを調べます。このターゲット プロパティは、「セレクター」へのポインターを保持します (IBAction メソッドの単なる装飾的な言葉
です_(IBAction)click:sender
)
。NSUInteger が宣言され、次の値に設定されます: 2
b. あなたのインスタンス
second-class
割り当てられ、インスタンス化されます (このインスタンスはsecond-class
、この場合は名前が付けられたタイプの使用可能なオブジェクトですsc
)
c. クラス 'second-class' の 'sc' インスタンスはメソッド
5 を呼び出します。-(void) numberOfItem:(NSUInteger )no
値 2 を含む変数 'no' を渡すメソッドに入ります (実際にはピース メモリへの参照ですが、リテラル値と考えることができます 2)。
6. コンパイラは最初の NSLog ステートメントにヒットし、'%d' フォーマッタを NSUInteger 値に置き換えます (これが、この特定のフォーマッタが動作するように設計されている方法です)。7. コンパイラはlocaltextbox.text = [NSString stringWithFormat:@"%d",no];
、'stringWithFormat' メソッドを使用して NSUInteger に到達し、NSString に変換します。これは非常に重要です。それ以外の場合、localtextbox.text は nil のままになります。
これまでのところすべてが完璧です。次の Cocoa と Cocoa Touch では、インターフェイス ビルダーを適切に使用してインターフェイスを構築すれば、いくつかの作業を行います。
Xcode には、開発環境のルールに従っている限り、多くの作業を行うメカニズムが組み込まれています。ラベルは、「テキスト」プロパティが変更された場合に自動的に更新され、この変更はすぐに行われますが、textField またはラベルを IBOutlet として宣言した場合に限ります (コードで、または Interface Builder と Connections インスペクターを使用してこれを行うことができます)。ラベルを IBOutlet に設定することは、textField またはラベルに「ラベル、'text' プロパティが変更された場合は、その変更を反映するようにビューを更新してください」と指示するようなものです。変更を監視するように明示的に指示したか、ユーザーに表示されるものに関して変更が重要ではないとラベルが考えています。
ラベルを IBOutlet として適切に設定した場合、コードは localtextbox.text プロパティが変更されたときにビューを自動的に更新し、次の行に進み、とにかく localtextbox.text プロパティの値を適切に記録します。
Connections Inspector で Connections に再度アクセスする必要があります。次の手順に従います (誤って間違った接続を開始する場合は簡単です)。
ラベル/テキストフィールド接続
の切断 1. プロジェクトの .xib ファイルを開きます。
2. 画面の右側で、Xcode が次のように設定されていることを確認します

。 3. .xib ファイルで、ラベルまたはテキストフィールド (いずれか) を選択します。
4. label/textField が選択されている間に、画面の右側に移動し、Identity Inspector パネルの上部ツールバーの右端のオプションを選択します (マウスをツールの上に置くと、ツール ヒントが表示されます)。右向きの矢印が内側にある円である「接続インスペクター」と表示されます。

5. label/textField が選択されている状態で (これらの接続は、選択したインターフェイス オブジェクトに基づいて変更されます)、すべての接続を削除します。最も重要なのは、「参照アウトレット」です。
LABEL/TEXTFIELDの再接続
1. Xcode レイアウトをアシスタント エディター モードに変更

します。
3. Main.h ファイルに一連の中かっこを追加して、コードが次のようになるようにします。
#import <UIKit/UIKit.h>
@interface Main : UIViewController {
}
@end
4. ラベルの上にマウスを置き、ラベル/テキストフィールドからこれらの中括弧の間の領域までコントロールドラッグして離します (これを行うと、青い線が表示されます)。そのようです:

写真のように、「Create Outlet or Outlet Collection」というメッセージが表示されます。アウトレット (IBOutlet) を作成します。フォームを離すと、ポップアップが表示されます。connection: 'Outlet' を選択し、textfield:localtextfield の名前を付けて、参照が 'Weak' であることを確認します。5. [

接続] をクリックすると、既に述べた他のすべてが機能すると仮定して、コードが機能するはずです。
これは UITableViewCell のサブクラスですか? その場合は、アクション メソッドを呼び出し[[self tableview] reloadData];
て、テーブルビューのセルを手動で更新できます。
それでも機能しない場合はお知らせください。